Commit Graph

769 Commits

Author SHA1 Message Date
Roger A. Light
ea371564e7 Disable TLS 1.3 when using TLS-PSK, because it isn't correctly config'd. 2021-08-19 17:26:04 +01:00
Roger A. Light
0143db71a1 Fix TLS certs and PSK not being able to be config'd at the same time. 2021-08-19 17:26:04 +01:00
Roger A. Light
a37c8e65d2 TLS-PSK mismatch fix.
Produce an error if a TLS-PSK client tries to connect to a broker
that is not configured with TLS-PSK.
2021-08-19 17:26:04 +01:00
Roger A. Light
79542158f4 Fix max_connections option not being correctly counted. 2021-08-17 13:10:18 +01:00
Roger A. Light
4e146b7b53 Fix possible out of bounds memory reads when reading configuration.
This would happen with a corrupt/crafted configuration file. Unless your
configuration file is writable by untrusted users this is not a risk.

Closes #567213. Thanks to Roland Sako.
2021-07-22 16:43:06 +01:00
Roger A. Light
6028d0e33e mosquitto_sub and mosquitto_rr now open stdout in binary mode on Windows
This is so binary payloads are not modified when printing.

Thanks to Steve Mullock.
2021-06-09 21:16:57 +01:00
Roger A. Light
f68c052c79 Merge branch 'fixes' 2021-06-09 13:22:56 +01:00
Roger A. Light
99d7299b24 Fix qos0 messages not being queued when queue_qos0_message enabled.
Closes #2224. Thanks to Luigi Caiffa.
2021-06-09 13:21:27 +01:00
Roger A. Light
42163634c7 Fix leak on crafted MQTT v5 CONNECT.
If a MQTT v5 client connects with a crafted CONNECT packet a memory leak
will occur.

Thanks to Kathrin Kleinhammer.
2021-06-08 22:26:09 +01:00
Roger A. Light
238b68686a Fix bridge pollfd corruption on Windows.
Closes #2173. Thanks to Niclas Lindgren.
2021-06-08 13:29:29 +01:00
Roger A. Light
104b94db57 Fix non-reachable bridge blocking the broker on Windows.
Closes #2172. Thanks to Niclas Lindgren.
2021-06-08 12:07:24 +01:00
Roger A. Light
16fb0025a7 Improve QoS 0 outgoing packet queueing. 2021-05-18 16:53:45 +01:00
Roger Light
880df7360d Fix bridge not reconnectng if the first reconnection attempt fails.
Closes #2207. Thanks to Abilio Marques.
2021-05-17 00:49:44 +01:00
Roger Light
07399c2f3c Fix mosquitto_pub -l quitting if broker unavailable.
This could occur when a message publication is attempted when the broker
is temporarily unavailable.

Closes #2187. Thanks to JsBergbau.
2021-05-08 23:07:02 +01:00
Roger Light
d5ecd9f5aa Update CVE information. 2021-04-10 08:28:41 +01:00
Roger Light
c418b57d0f Fix possible crash having just upgraded from 1.6.
Happens if `per_listener_settings true` is set, and a SIGHUP is sent to
the broker before a client has reconnected to the broker.

Closes #2167. Thanks to momoskitto.
2021-04-08 23:29:46 +01:00
Roger A. Light
ec54bce037 Fix mosquitto_sub pipe close detection.
If sending mosquitto_sub output to a pipe, mosquitto_sub will now detect
that the pipe has closed and disconnect.

Closes #2164. Thanks to Frantisek Fuka.
2021-04-06 23:01:48 +01:00
Roger A. Light
eead0d2943 Fix build on Solaris non-sparc.
Closes #2136. Thanks to chuckunix.
2021-04-03 11:15:13 +01:00
Roger A. Light
6a4a547892 Fix segfault on client sending malformed CONNACk.
CVE-xxxx-xxxx: If an authenticated client connected with MQTT v5 sent a
malformed CONNACK message to the broker a NULL pointer dereference occurred,
most likely resulting in a segfault. This will be updated with the CVE
number when it is assigned.
Affects versions 2.0.0 to 2.0.9 inclusive.

Closes #2163. Thanks to Bryan Pearson.
2021-04-03 11:14:27 +01:00
Roger Light
6ebbb4d654 Fix possible socket leak.
This would occur if a client was using `mosquitto_loop_start()`, then if
the connection failed due to the remote server being inaccessible they
called `mosquitto_loop_stop(, true)` and recreated the mosquitto object.

See: https://www.eclipse.org/forums/index.php?t=rview&goto=1839865#msg_1839865
2021-04-02 11:03:01 +01:00
Roger Light
117e59b7cf Fix CMake cross compile builds not finding opensslconf.h.
Closes #2160. Thanks to Ozaq.
2021-04-01 21:53:13 +01:00
Roger A. Light
7d214a445d Fix TLS-PSK mode not working with port 8883.
Closes #2152. Thanks to jetpax.
2021-03-26 11:06:57 +00:00
Abilio Marques
91f34e084f fix duplication of messages during connect
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2021-03-22 07:59:37 +01:00
Roger Light
2de8c15bc9 Minor build fixes. 2021-03-21 09:18:43 +00:00
Roger Light
a6bb8d3611 Don't over write new receive-maximum if a v5 client connects.
This is for when it takes over an old session.

Closes #2134. Thanks to Frantisek Fuka.
2021-03-14 22:12:10 +00:00
Roger Light
9faf89be8d Set receive-maximum to not exceed the -C message count.
This is for mosquitto_sub and mosquitto_rr, to avoid potentially lost
messages.

Closes #2134. Thanks to Frantisek Fuka.
2021-03-14 19:24:56 +00:00
Roger A. Light
f8838243fb Fix connections retrying very rapidly in some situations.
Thanks to Abilio Marques.
2021-03-11 21:04:51 +00:00
Roger A. Light
891be8c2fe Fix max_keepalive option not applying to keepalive=0.
Closes #2117. Thanks to David Nadlinger.
2021-03-11 19:58:47 +00:00
Roger A. Light
f4d088b6d0 Improve logging of pull request.
Improve handling of invalid combinations of listener address and bind
interface configurations. Closes #2081.
2021-03-11 15:09:38 +00:00
Roger A. Light
88d2c74ab2 Fix bridge backoff calculation. 2021-03-11 15:02:31 +00:00
Roger A. Light
b7a08d5c40 Fix TLS bridge/lib incorrectly connecting on invalid CA file.
Closes #2130. Thanks to becz.
2021-03-11 12:45:04 +00:00
Roger Light
ace2aa764e Fix cmake epoll detection. 2021-03-08 23:57:04 +00:00
Roger A. Light
e401def06d Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
Closes #2123. Thanks to quackgizmo.
2021-03-08 23:23:45 +00:00
Roger A. Light
f89a3c3fc0 Fix messages to $ prefixed topics being rejected.
Closes #2111. Thanks to yellowgg2.
2021-03-06 00:57:37 +00:00
Roger Light
64f697d55d Fix tls_version behaviour not matching documentation.
It was setting the exact TLS version to use, not the minimium TLS
version to use.

Closes #2110. Thanks to Petter Jönsson.
2021-03-03 22:21:24 +00:00
Roger A. Light
cec9d36445 Bump version and web pages. 2021-02-25 17:23:24 +00:00
Roger A. Light
465ee546c4 Update comment. 2021-02-25 17:13:56 +00:00
Roger A. Light
2190e98b20 Fix memory tracking not being available on FreeBSD or macOS.
Closes #2096. Thanks to blusewang.
2021-02-25 17:04:15 +00:00
Roger A. Light
12ff9d5e14 Allow Docker images to run with anon, without a config file.
Provide a mechanism for Docker users to run a broker that doesn't use
authentication, without having to provide their own configuration file.

Closes #2040.
2021-02-25 13:51:27 +00:00
Roger A. Light
9b08faf0bd Fix mosquitto_{pub|sub}_topic_check() function returns.
The would not return MOSQ_ERR_INVAL on topic == NULL.
2021-02-09 14:09:53 +00:00
Roger A. Light
1b24f625ea Give compile time warning for libwebsockets
If it is compiled without external poll support.

Closes #2060. Thanks to Yannic Schröder.
2021-02-09 13:18:58 +00:00
Roger A. Light
7fe638786d Fix mosquitto_evt_tick struct members. 2021-02-06 23:54:11 +00:00
Roger A. Light
24920c9a08 Fix possible loss of data in mosquitto_pub -l when sending multiple long lines.
Closes #2078. Thanks to Ysincit.
2021-02-06 23:05:52 +00:00
Roger A. Light
c2a26250f6 Bump changelog, versions, and web pages. 2021-02-04 10:10:13 +00:00
Roger A. Light
4a738f154e Fix openssl engine not being able to load private key.
Closes #2066. Thanks to Boris Vanhoof.
2021-02-03 21:54:35 +00:00
Roger A. Light
7a3b69f2d7 Fix possible leak during connect.
Closes #2057. Thanks to Przemysław Zygmunt.
2021-02-03 17:27:50 +00:00
Roger A. Light
1e6be1f123 Fix some minor memory leaks on exit only. 2021-02-03 17:27:44 +00:00
Roger A. Light
6c2dca51c3 Clients: Fix config files truncating options after the first space.
Closes #2059. Thanks to Jason White.
2021-02-03 10:11:44 +00:00
Roger A. Light
217b416a2d Fix man page building to not absolutely require xsltproc when using CMake.
This now handles the case where we are building from the released tar, or
building from git if xsltproc is available, or building from git if xsltproc
is not available.
2021-02-02 16:33:49 +00:00
Roger A. Light
05292cdbef Fix exporting of executable symbols on BSD when building via makefile. 2021-02-02 16:14:05 +00:00