Commit Graph

654 Commits (71845d28acfc09103fba37f1dfe91d3856b2fed0)

Author SHA1 Message Date
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
Roger A. Light f46187d5e5 Add `mosquitto_client_protocol_version()` function.
This can be used by plugins to determine which version of MQTT a client
has connected with.
5 years ago
Roger Light 318dead6bf Function to allow plugins to publish messages. 5 years ago
Roger A. Light 2e32634a95 DLT logging is now configurable at runtime with `log_dest dlt`.
Closes #1735. Thanks to Brian Orpin.
5 years ago
Roger A. Light c8964228e3 Improved documentation around connect callback return codes.
Close #1730. Thanks to John Laird.
5 years ago
Roger A. Light 4b541ad5ca Fix usage message not mentioning v5.0.
Closes #1713. Thanks to whnr.
5 years ago
Roger A. Light cea0423e69 Update changelog and version. 5 years ago
Roger A. Light 6bd435d721 Fix possible assert crash associated with bridge reconnecting.
This only occurs when compiled without epoll support.

Closes #1700. Thanks to Matthias Urlichs.
5 years ago
Roger A. Light ce463c185b Update changelog. 5 years ago
Roger A. Light eae8c9aab4 Fix check when loading persistence file of a different version
Closes #1684. Thanks to grekhss.
5 years ago
Roger A. Light 762ad432e8 Fix support for openssl 3.0 5 years ago
Roger A. Light 24049b1a1e Fix mosquitto_sub %j or %J not working on Windows.
Closes #1674. Thanks to amigian74.
5 years ago
Roger A. Light b726e2f1ec mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format. 5 years ago
Roger A. Light 946257bf30 Remove spurious version heading. 5 years ago
Roger A. Light 4960fc0702 Don't disconnect clients that are already disconnected.
This prevents the session expiry being extended on SIGHUP.

Closes #1521. Thanks to Christoph Krey.
5 years ago
Roger A. Light eeaafed485 Fix memory leak when connecting clients rejected. 5 years ago
Roger A. Light 5908585afd Fix mosquitto_passwd -b not updating passwords for existing users
Closes #1664. Thanks to Leon Kiefer.
6 years ago
Roger A. Light c72dd39f92 Allow MQTT v5.0 outgoing bridges to fall back to MQTT v3.1.1
This applies if connecting to a v3.x only broker.
6 years ago
Roger A. Light 21f203b91a Don't treact unexpected PUBACK/COMP as fatal. 6 years ago
Roger A. Light de25ff694e Report invalid bridge prefix+pattern combinations at config parsing time
Rather than letting the bridge fail later.

Issue #1635. Thanks to pokerazor.
6 years ago
Roger A. Light a16d7e0661 iDon't treat an unexpected PUBREL as fatal.
Issue #1629. Thanks to radcrabs.
6 years ago
Roger A. Light 7f41e37f0f Fix use of sed on BSD.
Closes #1614. Thanks to Christoph Krey.
6 years ago
Roger A. Light c84d175b3d Fixes for the poor souls stuck on <c99.
Closes #1622.
6 years ago
Roger A. Light 0da723c1ec Add `--random-filter` to mosquitto_sub. 6 years ago
Roger A. Light d96543c0b8 Merge branch 'fixes' into develop 6 years ago
Roger A. Light b0a065f790 Update changelog. Release page. Bump copyright. 6 years ago
Roger A. Light 8d5fd7d1e2 Fix `mosquitto_topic_matches_sub()` behaviour with wildcards in topic.
It was not returning MOSQ_ERR_INVAL if the topic contains a wildcard.

Closes #1589. Thanks to mdelete.
6 years ago
Roger A. Light 17e20de9e7 Fix session-expiry-interval for v5 clients using -c.
Default behaviour for v5 clients using `-c` is now to use infinite length
sessions, as with v3 clients.

Closes #1546. Thanks to Kiran Pradeep.
6 years ago
Roger A. Light 019d4214b8 Fix session-expiry-interval for v5 clients using -c.
Default behaviour for v5 clients using `-c` is now to use infinite length
sessions, as with v3 clients.

Closes #1546. Thanks to Kiran Pradeep.
6 years ago
Roger A. Light 56d0b950ac Fix `--remove-retained` not obeying the `-T` option.
This means `--remove-retained -t bbc/# -T bbc/one/#` would remove all
retained messages in `bbc/#`, instead of leaving all of the topics in
`bbc/one/#`.

Closes #1585. Thanks to Simon Moser.
6 years ago
Roger A. Light 07c54627e9 Print OpenSSL errors in more situations
Covers when loading certificates fails, or there are ENGINE problems.

Closes #1552. Thanks to Michael Richardson.
6 years ago
Roger A. Light 27b4518d7e Improve password file parsing in the broker and mosqitto_passwd.
Closes #1584. Thanks to panava.
6 years ago
Roger A. Light ed5db1bd6b Fix `bind_interface` not working for the default listener.
Closes #1533. Thanks to Markus Gothe.
6 years ago
Roger A. Light 70fd600c3a Fix trailing whitespace not being trimmed on acl users.
Closes #1539. Thanks to CliveJL and LeonPoon.
6 years ago
Roger A. Light 3671a6dfdb Add `-x` argument to all clients.
This allows the session-expiry-interval property to be easily set for
MQTT v5 clients.
6 years ago
Roger A. Light 8f1c8cba59 Set minimum keepalive argument to `mosquitto_connect*()` to be 5 seconds.
Closes #1550. Thanks to Markus Gothe.
6 years ago
Roger A. Light 9ae38788dc Fix config->user not being freed on exit.
Closes #1564. Thanks to back1127.
6 years ago
Roger A. Light 812c0636d5 Satisfy valgrind when exiting on error.
This is when due to not being able to open a listening socket, solved by
calling freeaddrinfo in the error cases.

Closes #1565. Thanks to back1127.
6 years ago
Roger A. Light e7c9f009bd Strip whitespace from end of config file string options.
Closes #1566. Thanks to kollokollo.
6 years ago
Roger A. Light d452ea138b Use presence of password file as indicator for authentication checks.
Previously, authentication checks would only take place if usernames
were defined in the password file.

Closes #1545. Thanks to Timothy Godfrey.
6 years ago
Roger A. Light b6119bb759 Check ACL patterns for validity when loading.
Closes #1539. Thanks to Leon Poon.
6 years ago
Roger A. Light d60e86d2a3 Add TCP_NODELAY support to lib and clients.
Closes #1526. Thanks to Felix Moessbauer.
6 years ago
Roger A. Light c8789180f3 Fix session expiry with very large expiry intervals.
Closes #1525. Thanks to Christoph Krey.
6 years ago
Roger A. Light c0443637e8 Merge branch 'master'
Conflicts:
	ChangeLog.txt
	config.mk
	src/context.c
	src/loop.c
	src/subs.c
	test/broker/01-connect-bad-packet.py
	test/broker/02-subpub-qos1-bad-pubcomp.py
	test/broker/02-subpub-qos1-bad-pubrec.py
	test/broker/02-subpub-qos2-bad-puback-1.py
	test/broker/02-subpub-qos2-bad-puback-2.py
	test/broker/02-subpub-qos2-bad-pubcomp.py
	test/broker/02-subpub-qos2.py
	test/broker/07-will-null-topic.py
6 years ago
Roger A. Light b410568299 Bump version, add release post. 6 years ago
Roger A. Light b96739341d Update changelog for last pull request.
Closes #1513.
6 years ago
Roger A. Light a46b45b006 Fix persistent_client_expiration not being used
Closes #1494. Thanks to Christoph Krey.
6 years ago
Roger A. Light c37251c53d Document `mosquitto_connect_srv()`.
Closes #1499. Thanks to Basavesh Shivakumar.
6 years ago
Roger A. Light 3d92dcbbd9 Make documentation for `mosquitto_pub -l` match reality
Blank lines are sent as empty messages.

Closes #1474. Thanks to majekw.
6 years ago
Roger A. Light 1e04b22833 Fix `mosquitto_pub -l` not sending the final line of stdin
This would happen if the final line did not end with a new line.

Closes #1473. Thanks to majekw.
6 years ago
Roger A. Light d003fed383 MQTT v5 bridges can handle "retain-available" being false. 6 years ago
Roger A. Light 2af260ba58 Add `bridge_outgoing_retain` option
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
6 years ago
Roger A. Light 88c83fe6b5 mosquitto_pub now handles the MQTT v5 retain-available property
It will not set the retain bit if retain-available is false.
6 years ago
Roger A. Light 05171b266d Fix TLS Websockets clients not receiving messages.
This can occurs after one client takes over a previous connection.

Closes #1489. Thanks to Bas Verhoeven.
6 years ago
Roger A. Light 6bde209799 Added `CLIENT_STATIC_LDADD` to makefile builds
This allow more libraries to be linked when compiling the clients with a
static libmosquitto, as required for e.g. openssl on some systems.

Closes #1371. Thanks to Fabrice Fontaine.
6 years ago
Roger A. Light 22eb193309 Merge branch 'stdin-fix-1' of git://github.com/majekw/mosquitto into majekw-stdin-fix-1 6 years ago
Roger A. Light 9cdc822a19 Add changelog, change msg text for previous merge. 6 years ago
Roger A. Light b622aaeee4 Fix messages with an expiry interval missing the property.
They would be be sent without an expiry interval property just before
they were expired.

Closes #1464. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 06a27e799f Fix retained messages with an expiry interval not being expired.
This happened after being restored from persistence.

Closes #1464. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 463fe8fc6c Fix document issues in mosquitto.h.
Closes #1478. Thanks to Liam Fry.
6 years ago
Roger A. Light 1d468708de Fix mosquitto_rr.exe not being included in Windows installers.
Closes #1463. Thanks to raisonchacko.
6 years ago
Roger A. Light 934ec7355a Add issue reference to changelog.
Closes #1416.
6 years ago
Roger A. Light 253326dcc9 Fix problems with reloading config when `per_listener_settings` was true.
Closes #1459. Thanks to Thomas Markin Klein.
6 years ago
Roger A. Light 59c0bfe6e1 Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode. 6 years ago
Roger A. Light 9e4226622f Add `--pretty` option to mosquitto_sub/rr
If active, this produces formatted JSON output rather than the normal
minimised output.
6 years ago
Roger Light e5237ae7e5 Add support for sub/rr v5 prop output in JSON mode 6 years ago
Roger Light 2f8573b456 Add property helper functions.
mosquitto_property_identifier()
mosquitto_property_identifier_to_string()
mosquitto_property_next()
6 years ago
Roger A. Light ad5c2e11d9 Use cJSON for producing JSON output in clients.
Closes #1222. Thanks to Ben Barbour.
6 years ago
majekw 50c9a4b0b0 Fix `mosquitto_pub -l` hang when stdin stream ends. Closes #1448.
Signed-off-by: Marek Wodzinski <majek@w7i.pl>
6 years ago
Roger A. Light 8a4ae28fa9 Fix duplicate cfg definition in rr_client.
Closes #1453. Thanks to jveber.
6 years ago
Roger A. Light 499e2f2e98 Add support for unix sockets to broker, lib, and clients. 6 years ago
Roger A. Light cfacd961c9 Only a single CRL could be loaded at once. This has been fixed.
Closes #1442. Thanks to charlemagnelasse.
6 years ago
Roger A. Light c471dfb201 Fix sub topics being limited to 200 chars instead of 200 levels
Closes #1441. Thanks to Christoph Krey.
6 years ago
Roger A. Light b942b73b6d Fix incorrect memory tracking causing problems with memory_limit option.
Closes #1437. Thanks to Guillaume Bour.
6 years ago
Roger A. Light 093c8f90f5 Fix publish props not being passed to v5 msg callback for QoS 2 msgs.
Closes #1432. Thanks to Magnus Galåen.
6 years ago
Roger A. Light 4db1e80410 More allow_zero_length_clientid fixes.
Closes #1429. Thanks to Dustin Sallings.
6 years ago
Roger A. Light 539c1b9bcb Tests for zero length client id, plus fix for one case where it was allowed 6 years ago
Roger A. Light 54ed3c0fc9 Merge branch 'master' into develop 6 years ago
Roger A. Light b7d8eb1122 Bump version number. Update www. 6 years ago
Roger A. Light 9584463c75 Fix potential crash when reloading config.
Closes #1424, #1425. Thanks to JinPingChng and peteakalad.
6 years ago
Roger A. Light 1a8c44b84f Fix regression on use of `mosquitto_connect_async()` not working.
Closes #1415 and #1422. Thanks to Karl Palsson, Till Zimmermann and Liam Fry.
6 years ago