Commit Graph

837 Commits (master)

Author SHA1 Message Date
Roger A. Light 605131502b Fix MOSQ_OPT_SSL_CTX not being able to be set to NULL.
Closes #2289. Thanks to Poltorak Serguei.
4 years ago
Roger A. Light 77af2ecefe Fix `mosquitto_ctrl dynsec setDefaultACLAccess` command not working. 4 years ago
Roger A. Light 06c84aeb66 CVE-2021-34434 details. 4 years ago
Roger A. Light 37b5aedcb6 Fix for #575314.
Incoming QoS 2 messages that had not completed the QoS flow were not being
checked for ACL access when a clean session=False client was reconnecting.

Closes #575314.
4 years ago
Roger A. Light 9d6a73f9f7 Fix CONNECT performance with many user-properties.
An MQTT v5 client connecting with a large number of user-property properties
could cause excessive CPU usage, leading to a loss of performance and
possible denial of service. This has been fixed.
4 years ago
Roger Light 32af599c81 Fix $share subscriptions not being recovered for durable clients.
If a plugin had granted ACL subscription access to a
durable/non-clean-session client, then removed that access, the client would
keep its existing subscription. This has been fixed.
4 years ago
Roger A. Light 756b3fcb08 Document TLS certificate behaviour when using `-p 8883`. 4 years ago
Roger A. Light f952d19da1 Fix printf format build warning on MIPS.
Closes #2271. Thanks to Karl Palsson.
4 years ago
Roger A. Light 9b25dd3b0d libressl build fixes.
Closes #2198. Thanks to Theo Buehler.
4 years ago
Roger A. Light 0d1837ebe3 Deconfigure thread mode when the loop thread ends.
Threaded mode is deconfigured when the mosquitto_loop_start() thread ends,
which allows mosquitto_loop_start() to be called again.

Closes #2242. Thanks to Timo Lange.
4 years ago
Roger Light ba2ca33671 Strict protocol compliance fixes, and extensive test suite. 4 years ago
Roger Light 723b5d7081 Fix listener mount_point not being removed on outgoing messages.
Closes #2244. Thanks to alflexRH.
4 years ago
Roger Light 6608e852a1 Fix broker not quiting if `password_file` is specified as a directory.
Closes #2241. Thanks to Bryan Pearson.
4 years ago
Roger Light 526b8430e2 Fix for #2283.
Closes #2283. Thanks to Heath Raftery.
4 years ago
Roger Light c01ae67af7 Fix openssl not being linked to dynamic security plugin.
Closes #2277. Thanks to LeSuisse.
4 years ago
Roger Light 342aa0ad1a Fix installation using WITH_TLS=no.
Closes #2281. Thanks to Matt Turner.
4 years ago
Roger Light 93b2232bb9 Apply max_keepalive to MQTT v3.1.1 and v3.1 clients. 4 years ago
Roger A. Light ea371564e7 Disable TLS 1.3 when using TLS-PSK, because it isn't correctly config'd. 4 years ago
Roger A. Light 0143db71a1 Fix TLS certs and PSK not being able to be config'd at the same time. 4 years ago
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.
4 years ago
Roger A. Light 79542158f4 Fix `max_connections` option not being correctly counted. 4 years ago
Roger A. Light 8589f082d8 Fix CVE references. 4 years ago
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.
4 years ago
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.
4 years ago
Roger A. Light f68c052c79 Merge branch 'fixes' 4 years ago
Roger A. Light 99d7299b24 Fix qos0 messages not being queued when queue_qos0_message enabled.
Closes #2224. Thanks to Luigi Caiffa.
4 years ago
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.
4 years ago
Roger A. Light 238b68686a Fix bridge pollfd corruption on Windows.
Closes #2173. Thanks to Niclas Lindgren.
4 years ago
Roger A. Light 104b94db57 Fix non-reachable bridge blocking the broker on Windows.
Closes #2172. Thanks to Niclas Lindgren.
4 years ago
Roger A. Light 16fb0025a7 Improve QoS 0 outgoing packet queueing. 4 years ago
Roger Light 880df7360d Fix bridge not reconnectng if the first reconnection attempt fails.
Closes #2207. Thanks to Abilio Marques.
4 years ago
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.
4 years ago
Roger Light d5ecd9f5aa Update CVE information. 5 years ago
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.
5 years ago
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.
5 years ago
Roger A. Light eead0d2943 Fix build on Solaris non-sparc.
Closes #2136. Thanks to chuckunix.
5 years ago
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.
5 years ago
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
5 years ago
Roger Light 117e59b7cf Fix CMake cross compile builds not finding opensslconf.h.
Closes #2160. Thanks to Ozaq.
5 years ago
Roger A. Light 7d214a445d Fix TLS-PSK mode not working with port 8883.
Closes #2152. Thanks to jetpax.
5 years ago
Abilio Marques 91f34e084f fix duplication of messages during connect
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
5 years ago
Roger Light 2de8c15bc9 Minor build fixes. 5 years ago
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.
5 years ago
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.
5 years ago
Roger A. Light f8838243fb Fix connections retrying very rapidly in some situations.
Thanks to Abilio Marques.
5 years ago
Roger A. Light 891be8c2fe Fix `max_keepalive` option not applying to keepalive=0.
Closes #2117. Thanks to David Nadlinger.
5 years ago
Roger A. Light f4d088b6d0 Improve logging of pull request.
Improve handling of invalid combinations of listener address and bind
interface configurations. Closes #2081.
5 years ago
Roger A. Light 88d2c74ab2 Fix bridge backoff calculation. 5 years ago
Roger A. Light b7a08d5c40 Fix TLS bridge/lib incorrectly connecting on invalid CA file.
Closes #2130. Thanks to becz.
5 years ago
Roger Light ace2aa764e Fix cmake epoll detection. 5 years ago
Roger A. Light e401def06d Fix QoS 0 messages not being delivered when max_queued_bytes was configured.
Closes #2123. Thanks to quackgizmo.
5 years ago
Roger A. Light f89a3c3fc0 Fix messages to `$` prefixed topics being rejected.
Closes #2111. Thanks to yellowgg2.
5 years ago
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.
5 years ago
Roger A. Light cec9d36445 Bump version and web pages. 5 years ago
Roger A. Light 465ee546c4 Update comment. 5 years ago
Roger A. Light 2190e98b20 Fix memory tracking not being available on FreeBSD or macOS.
Closes #2096. Thanks to blusewang.
5 years ago
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.
5 years ago
Roger A. Light 9b08faf0bd Fix mosquitto_{pub|sub}_topic_check() function returns.
The would not return MOSQ_ERR_INVAL on topic == NULL.
5 years ago
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.
5 years ago
Roger A. Light 7fe638786d Fix mosquitto_evt_tick struct members. 5 years ago
Roger A. Light 24920c9a08 Fix possible loss of data in `mosquitto_pub -l` when sending multiple long lines.
Closes #2078. Thanks to Ysincit.
5 years ago
Roger A. Light c2a26250f6 Bump changelog, versions, and web pages. 5 years ago
Roger A. Light 4a738f154e Fix openssl engine not being able to load private key.
Closes #2066. Thanks to Boris Vanhoof.
5 years ago
Roger A. Light 7a3b69f2d7 Fix possible leak during connect.
Closes #2057. Thanks to Przemysław Zygmunt.
5 years ago
Roger A. Light 1e6be1f123 Fix some minor memory leaks on exit only. 5 years ago
Roger A. Light 6c2dca51c3 Clients: Fix config files truncating options after the first space.
Closes #2059. Thanks to Jason White.
5 years ago
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.
5 years ago
Roger A. Light 05292cdbef Fix exporting of executable symbols on BSD when building via makefile. 5 years ago
Roger A. Light 2749b8c5b8 Merge branch 'fixes' 5 years ago
Roger A. Light 6e3738dcf0 Fix bridges not always connecting on Windows.
Closes #2043. Thanks to ttsorensen.
5 years ago
Roger Light ad9a78dfc3 Note in the man pages that SIGHUP reloads TLS certificates.
Closes #2037. Thanks to Greg Troxel.
5 years ago
Roger A. Light a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
5 years ago
Roger A. Light cf1098eff1 Send protocol error on topic alias not found.
The error topic-alias-invalid was being sent if an MQTT v5 client published
a message with empty topic and topic alias set, but the topic alias hadn't
already been configured on the broker. This has been fixed to send a
protocol error, as per section 3.3.4 of the specification.
5 years ago
Roger A. Light 3c58ac9308 Fix `message_size_limit` not applying to the Will payload.
Closes #2022. Thanks to Umberto Morelli.
5 years ago
Roger A. Light 4165224885 Fix reloading of listeners where multiple listeners have the same port.
This is only possible where they have different bind addresses.

Closes #2029. Thanks to Simon Aldrich.
5 years ago
Roger A. Light c9a4ef402e Update changelog. 5 years ago
Roger A. Light e2ebddfc54 Improve logging in obscure cases when a client disconnects.
Closes #2017. Thanks to Craig Leres.
5 years ago
Roger A. Light 9c4b9a0311 ctrl: Error if new passwords don't match.
Produce an error when requesting a new password if both
attempts do not match.

Closes #2011. Thanks to Willem Eradus.
5 years ago
Roger A. Light 26fbd0ec74 ctrl: Allow command line arguments to override config file options.
Closes #2010. Thanks to Willem Eradus.
5 years ago
Roger A. Light 300dc54dad Add notes that libsystemd-dev or similar is needed.
This is when building with systemd support on Linux.

Closes #2019. Thanks to Mark Symmes.
5 years ago
Roger A. Light 00083623f0 Fix websockets listeners with TLS not responding.
Closes #2020. Thanks to FozzTexx.
5 years ago
Roger A. Light b8c6f26995 Fix message expiry interval property not being honoured for plugins.
This happened in `mosquitto_broker_publish` and
`mosquitto_broker_publish_copy` only.
5 years ago
Roger A. Light 4be32aefc6 Fix potential duplicate Will messages being sent.
This could have occurred when a will delay interval had been set.
5 years ago
Roger A. Light 695bbc33c8 Fix calculation of remaining length parameter for websockets clients.
Only affects those clients that send fragmented packets.

Closes #1974. Thanks to 贺亚东.
5 years ago
Roger A. Light 5927778ae5 Improve logging in dynsec addGroupClient command.
Closes #2008. Thanks to Willem Eradus.
5 years ago
Roger A. Light ae3800ad66 Bump version number, add www post. 5 years ago
Roger A. Light d9a34fbb3a Improve documentation around the `_v5()` and non-v5 functions.
For example `mosquitto_publish()` and `mosquitto_publish_v5().
5 years ago
Roger A. Light 370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 5 years ago
Roger A. Light 6728c05a2c `install` Makefile target should depend on `all`, not `mosquitto`
This ensures that man pages are always built, even if a user runs `make
install` without building first.

Closes #1989. Thanks to woodz-.
5 years ago
Roger Light 7e1a818c54 Fix invalid behaviour in dynsec plugin.
This occurred if a group or client was deleted before a role that was
attached to the group or client is deleted.

Closes #1998. Thanks to Willem Eradus.
5 years ago
Roger Light 5b3acfe3cc Fix `mosquitto_ctrl dynsec getGroup` not showing roles.
Closes #1997. Thanks to Willem Eradus.
5 years ago
Roger Light 886ee6cd0c Fix `bind_interface` option.
Closes #1999. Thanks to Joerg55.
5 years ago
Roger Light 28c28fe707 Fix incorrect description in mosquitto_ctrl man page.
Closes #1995. Thanks to fyta2000.
5 years ago
Roger A. Light 70db9c486e Disallow control characters in mosquitto_passwd usernames. 5 years ago
Roger A. Light 93c730f799 Fix potential intermittent initial bridge connections when using poll(). 5 years ago
Roger A. Light 8385769b86 Fix apparmor incorrectly denying access db tmp file.
This is /var/lib/mosquitto/mosquitto.db.new.

Closes #1978. Thanks to gnampf89.
5 years ago
Roger A. Light b2da540c64 Fix large packets not being completely published to slow clients.
Also fix bridge connection not relinquishing POLLOUT after messages are
sent.

Closes #1977. Thanks to marchaesen.
Closes #1979. Thanks to GorazdKikelj.
5 years ago
Roger A. Light 9d3732a62d Fix `auth_method` not being provided to the extended auth plugin event.
Closes #1975. Thanks to Jinming Chen.
5 years ago
Roger A. Light 5a565da82b Bump version number. Update changelog and web pages. 5 years ago
Roger A. Light 97d9f471c3 Fix websockets connections blocking non-ws connections on Windows.
Closes #1934. Thanks to sectokia and jarapa9.
5 years ago