Commit Graph

734 Commits (1890a86ebca47e5f95e55657bcf652a5dd877a0d)

Author SHA1 Message Date
Roger A. Light 2db9aecac4 Do not reset bind address option if passed NULL.
mosquitto_connect_bind_async() and mosquitto_connect_bind_v5() should not
reset the bind address option if called with bind_address == NULL.

Otherwise calling mosquitto_connect_async() will *force* the bind
address to be reset, even if previously set with
mosquitto_string_option().
5 years ago
Roger A. Light e02b5a2775 Fix $SYS/broker/publish/messages/+ counters not being updated for QoS 1, 2
Closes #1968. Thanks to promahn.
5 years ago
Roger A. Light d02bc03ed8 Bump version, changelog and webpage. 5 years ago
Roger A. Light f930970008 Fix persistence_location not appending a '/'. 5 years ago
Roger A. Light 2d9d1beee4 Fix ChangeLog error. Closes #1941. 5 years ago
Roger A. Light f10de9831a Fix slow initial bridge connections for WITH_ADNS=no. 5 years ago
Roger A. Light 1d92184b2f Fix local bridges being disconnected on SIGHUP.
Closes #1942. Thanks to charlemagnelasse.
5 years ago
Roger A. Light 00c68203b8 Fix QoS 0 messages not being delivered if max_queued_messages was set to 0.
Closes #1956. Thanks to nduhme.
5 years ago
Roger A. Light d05a49a2cf Fix bridges possibly not completing connections when WITH_ADNS is in use.
Closes #1960. Thanks to twegener-embertec.
5 years ago
Roger A. Light de141540fb Fix mosquitto_sub being unable to terminate with Ctrl-C.
This occured if a successful connection was not made.

Closes #1957. Thanks to Peoh.
5 years ago
Roger Light 113603168b Fix LWT not being sent on client takeover.
This was not happening for the case when the existing session wasn't
being continued.

Closes #1946. Thanks to Rory Piper.
5 years ago
Roger Light 74f3285cf8 Fix `generic` docker build.
Closes #1945. Thanks to Andreas Schildbach.
5 years ago
Roger Light f63386bf4a Fix `mosquitto_passwd -b` using username as password.
Only applies if if `-c` is not also used.

Closes #1949. Thanks to J. Augusto de Oliveira.
5 years ago
Roger A. Light abac67299f Fix excessive CPU use on non-Linux systems when the open file limit is set high.
Closes #1947. Thanks to Patrick TJ McPhee.
5 years ago
Roger A. Light f7dc138157 Fix `install` target when using WITH_CJSON=no.
Closes #1938. Thanks to apple3306 and JulianCaruso.
5 years ago
Roger A. Light ecf6f9079a Fix build regression for WITH_WEBSOCKETS=yes on non-Linux systems. 5 years ago
Roger A. Light 2307c9fa07 Update web pages. 5 years ago
Roger A. Light 36eb5ca0c9 Bump changelog date. 5 years ago
Roger A. Light 37ce51703f Fix websockets listeners not causing the main loop not to wake up.
Closes #1936. Thanks to sectokia.
5 years ago
Roger A. Light 66b680af34 Bump version number. 5 years ago
Roger A. Light d8dcfd75fe lib: Fix DH group not being set for TLS connections.
This meant ciphers using DHE couldn't be used.

Closes #1925. Closes #1476. Thanks to Jonathan Sönnerup, Valerii
Demeshko, and sectokia.
5 years ago
Roger A. Light b7f0161f52 Fix DH group not being set for TLS connections.
This meant ciphers using DHE couldn't be used.

Closes #1925. Closes #1476. Thanks to Jonathan Sönnerup, Valerii
Demeshko, and sectokia.
5 years ago
Roger A. Light bdfa5e714a Fix `mosquitto_passwd -U` 5 years ago
Roger A. Light 9968e35981 Fix websockets connections on Windows blocking subsequent connections.
Closes #1934. Thanks to sectokia.
5 years ago
Roger A. Light 0d747673d3 Distribute cmake/ and snap/ directories in tar. 5 years ago
Roger A. Light c25229c13a Fix build using WITH_TLS=no when the openssl headers aren't available. 5 years ago
Roger A. Light 791c63372b Fix cjson include paths. 5 years ago
Roger A. Light 74db0e977f Merge branch 'develop' 5 years ago
Roger A. Light 6904fac6a4 Bump version number and changelog. 5 years ago
Roger A. Light 232a759320 Log client port on new connections.
Closes #1911. Thanks to twegener-embertec.
5 years ago
Roger A. Light 04c110183c Bridge support for MQTT v5 maximum-qos. 5 years ago
Roger A. Light ca4b23486b Bridges now obey MQTT v5 server-keepalive. 5 years ago
Roger A. Light 0c22f475ff Fix bridges incorrectly setting Wills to manage remote notifications.
This is for when `notifications_local_only` was set true.

Closes #1902. Thanks to marcinkowskip.
5 years ago
Roger A. Light b34dcd2a67 Final remove support for legacy libwebsockets
This means libwebsockets < 2.4.0.
5 years ago
Roger A. Light c39a42adcc Report an error if the config file is set to a directory.
Closes #1814. Thanks to Odysseus1710.
5 years ago
Roger A. Light 29c771cdd4 Add lib and client support for OS CA certs
- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and  trust OS provided CA certificates for use with TLS connections.
- All clients now load OS provided CA certificates if used with `-L
  mqtts://...`, or if port is set to 8883 and no other CA certificates are
  used. Closes #1824.
- Add the `--tls-use-os-certs` option to all clients.

Closes #1824. Thanks to Jens Reimann.
5 years ago
Roger A. Light b7e6638fd8 Add `ciphers_tls1.3` option, to allow setting TLS v1.3 ciphersuites.
Closes #1825. Thanks to Valentin Dimov.
5 years ago
Roger A. Light b169dc0b1e mosquitto_sub will quit with an error on Windows if %U is used.
Seconds since the Unix epoch is not a parameter that can be obtained
with strftime on Windows.

Closes #1908. Thanks to Danil intl.
5 years ago
Roger A. Light dac841a342 Better outgoing QoS 0 limiting. 5 years ago
Roger A. Light 4667c9d5bc Change max_queued_messages default to 1000. 5 years ago
Roger A. Light 10ecae6275 Fix bridge sock not being removed from sock hash on error
Prior to this, duplicate entries could be added to the sock hash, which caused an infinite loop. Only affects bridges with bad settings on startup, and only when compiled using WITH_ADNS=yes.

Closes #1897. Thanks to Rodolfo Ochoa.
5 years ago
Roger A. Light f02c67fecf Fix file logging on Windows.
Closes #1880. Thanks to J1EXA, richl, and EnneiteZer.
5 years ago
Roger A. Light e7a4e73cd8 Fix listener not being reassociated with client.
This occurred when reloading a persistence file and
`per_listener_settings true` is set and the client did not set a
username.

Closes #1891. Thanks to Mikkel Nepper-Christensen.
5 years ago
Roger A. Light a0c39b193b Fix description of `-e` and `-t` arguments in mosquitto_rr.
Closes #1881. Thanks to Arnav Singh.
5 years ago
Roger A. Light 2a1df4ddb2 Breaking: Drop privileges after loading the configuration
This change means privileges are dropped before loading certificates, starting logging, creating the pid file etc. are carried out, so all of those actions must now be changed to ensure that the unprivileged user can carry them out.
5 years ago
Roger A. Light e6dd08074d TLS certificates for the server are now reloaded on SIGHUP. 5 years ago
Roger A. Light e01d391c0b Fix crash on Windows if loading a plugin fails.
Closes #1866. Thanks to roebotron.
5 years ago
Roger A. Light abbeb4494f Change `tls_version` option behaviour.
The `tls_version` option now defines the *minimum* TLS protocol version to
be used, rather than the exact version.

Closes #1258. Thanks to Daniele Sluijters.
5 years ago
Roger A. Light edee5aaf8d Add the `bridge_bind_address` option.
Closes #1311. Thanks to beville.
5 years ago
Roger A. Light d8f5aacd7f Add the `bridge_max_packet_size` option.
Closes #265.
5 years ago
Roger A. Light 916c3744f3 Fix `log_timestamp_format` not applying to `log_dest topic`.
Closes #1862. Thanks to Kaushik-27.
5 years ago
Roger A. Light e82ee879d5 Merge branch 'fixes' into develop 5 years ago
Roger A. Light 751fda44bd Remove conflict marker. 5 years ago
Roger A. Light 4ae8971ce1 The broker now sends the receive-maximum property for MQTT v5 CONNACKs. 5 years ago
Roger A. Light 3506fe4099 Update docs for acl deny feature. 5 years ago
Roger A. Light 6104172bcf Fix connect properties not being sent.
This was happening when the client automatically reconnected.

Closes #1846. Thanks to DSOFreak.
5 years ago
Roger A. Light 9724710cd6 Add MOSQ_OPT_BIND_ADDRESS.
This allows setting of a bind address independently of the
`mosquitto_connect*()` call.
5 years ago
Roger A. Light 94c4108977 The `pid_file` option will now always attempt to write a pid file.
This happens regardless of whether the `-d` argument is used when
running the broker.

Closes #1845. Thanks to habazut.
5 years ago
Roger A. Light be8b94189c Document that X509_free() must be called after using mosquitto_client_certificate().
Closes #1842. Thanks to Wolfgang Petroschka.
5 years ago
Roger A. Light 4472c1f441 Added support for controlling UNSUBSCRIBE calls in v5 plugin ACL checks. 5 years ago
Roger A. Light 6f4e0a1568 mosquitto_passwd: Forbid the ':' character in usernames. 5 years ago
Roger A. Light c90e49af1b Merge remote-tracking branch 'origin/fixes' into develop 5 years ago
Roger A. Light 54b9571516 Enable TLS with certfile+keyfile, not capath/cafile. 5 years ago
Roger A. Light 5371bd09d1 Add support for PBKDF2-SHA512 password hashing. 5 years ago
Roger A. Light 2774515456 Fix missing mach/mach_time.h header on OS X.
Closes #1831. Thanks to P-Hagen.
5 years ago
Roger A. Light 97bd527df0 Breaking: allow_anonymous defaults to false. 5 years ago
Roger A. Light d7d3087b04 Breaking: Bind to loopback if no listeners are configured. 5 years ago
Roger A. Light a53712a14d Don't use logging until log mutex is initialised.
Closes #1819. Thanks to santoshks68.
5 years ago
Roger A. Light 298d84941e Fix send quota being incorrecly reset on reconnect.
Closes #1822. Thanks to Sarek.
5 years ago
Roger A. Light 56ba1b99db Add `mosquitto_ssl_get()`.
This allow clients to access their SSL structure and
perform additional verification.
5 years ago
Roger A. Light e2123b2561 Add --version for all clients. 5 years ago
Roger A. Light 5daa5ee162 Add support for $CONTROL/ topics in plugins. 5 years ago
Roger A. Light f0862e26ec Add `mosquitto_kick_client_by_clientid()` and `mosquitto_kick_client_by_username()`
These can be used by plugins to disconnect clients.
5 years ago
Roger A. Light bab8cc2a6b mosquitto_sub now supports extra format specifiers.
These are for field width and precision for some parameters.
5 years ago
Roger A. Light 39566e3a6a Add 1.5.10 information. 5 years ago
Roger A. Light c1b009e4df Fix memory leak on handling QoS 2 PUBLISH.
In some circumstances, Mosquitto could leak memory when handling PUBLISH  messages. This is limited to incoming QoS 2 messages, and is related to the combination of the broker having persistence enabled, a clean session=false client, which was connected prior to the broker restarting, then has reconnected and has now sent messages at a sufficiently high rate that the incoming queue at the broker has filled up and hence messages are being dropped. This is more likely to have an effect where max_queued_messages is a small value. This has now been fixed.

Closes #1793. Thanks to mbates14.
5 years ago
Roger A. Light b3b58cc635 Build warning fixes. 5 years ago
Roger A. Light a224a8f217 Don't busy loop with `mosquitto_pub -l` on a slow connection. 5 years ago
Roger A. Light 9929ce0a26 All clients exit with an error exit code on CONNACK failure.
Closes #1778. Thanks to jflambert.
5 years ago
Roger A. Light c9218fd48c Bump version. 5 years ago
Roger A. Light b3c2ac20dc Fix overly broad HAVE_PTHREAD_CANCEL compile guard.
Closes #1547. Thanks to Markus Gothe.
5 years ago
Roger A. Light 4b100df5b1 Fix reconnect+will delay interval issue causing missing messages.
Fix clients not receiving messages after a previous client with the same   client ID and positive will delay interval quit.
Closes #1752. Thanks to Jiří Zuzaňák.
5 years ago
Roger Light 60dc8f5e4c Fix service path quoting on Windows.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=565671
5 years ago
Roger Light 4ef48269f5 Fix mosquitto_loop_stop() not stopping on Windows
Closes #1748. Closes #117. Thanks to Sigmund Vik.
5 years ago
Roger A. Light bd27935ff6 `mosquitto_loop_start()` now sets a thread name.
This applies on Linux, FreeBSD, NetBSD, and OpenBSD.

Closes #1777. Thanks to ABuch19.
5 years ago
Roger A. Light 94d04136f8 Fix potential memory leaks.
Closes #1773. Closes #1774. Thanks to Yingpei Zeng.
5 years ago
Roger A. Light 618cd7006b Don't try to start DLT logging if DLT unavailable.
This is to avoid a long delay when shutting down the broker.

Closes #1735. Thanks to Colin Law.
5 years ago
Roger A. Light 84e4ba2c1e Send DISCONNECT with malformed-packet reason code on bad PUBLISHes. 5 years ago
Roger A. Light b1e9377a20 Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs. 5 years ago
Roger A. Light 8416b007ec Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs. 5 years ago
Roger A. Light 1f717873d6 Log protocol error message where appropriate from a bad UNSUBSCRIBE
Rather than the generic "socket error".

Related to #1765.
5 years ago
Roger A. Light 54f3b686dc Fix "slow" file based logging by switching to line based buffering.
Closes #1689. Closes #1741. Thanks to Brett M. Gordon and tt92.
5 years ago
Roger A. Light 8234d24b1b Fix websockets clients sometimes not being disconnected promptly.
Closes #1718. Thanks to Luca Casonato.
5 years ago
Roger A. Light d371b3c58b Fix `mosquitto_publish*()` no longer returning `MOSQ_ERR_NO_CONN`.
This was always returning success when the client was not connected.

Closes #1725. Thanks to BOTorioN.
5 years ago
Roger A. Light b4e0dfa598 Fix `autosave_interval` not being triggered by messages being delivered.
Closes #1726. Thanks to nduhme.
5 years ago
Roger A. Light 4e0312c55f Fix messages being queued for disconnected bridges
This occurred incorrectly when clean start was set to true.

Closes #1729. Thanks to Andreyooo.
5 years ago
Roger A. Light f846711ea2 mosquitto_pub now sends 0 length files without an error when using `-f`. 5 years ago
Roger A. Light 1d66d3e443 Fix bridge topic remapping when using "" as the topic.
Closes #1749. Thanks to cieslarchristian.
5 years ago
Roger A. Light 5a56f066a8 Change systemd unit files to create /var/log/mosquitto
This happens before starting the broker.

Also don't quit with an error if opening the log file isn't possible.

Closes #821.
5 years ago
Roger A. Light abb31ffe8d Fix broker refusing to start if only websockets listeners were defined.
Closes #1740. Thanks to OkenKhuman.
5 years ago