Commit Graph

438 Commits (999c478c88679000b4310e3f4d37c0edf9bf2795)

Author SHA1 Message Date
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.
7 years ago
Roger A. Light 1a6c3f0c86 Improve documentation around the `include_dir` option.
Closes #1154. Thanks to Guzoft.
7 years ago
Roger A. Light 084062c85e Merge branch 'fixes' into mqtt5 7 years ago
Roger A. Light 9999faf9da Add rewritten build test script and remove some build warnings. 7 years ago
Roger A. Light e72d1d6ff5 Fix `mosquitto_topic_matches_sub()` rc with sub=="topic/#abc".
This now returns MOSQ_ERR_INVAL as expected.
7 years ago
Roger A. Light 04e89450c0 Don't require C99 compiler. 7 years ago
Roger A. Light 715da28602 Fix include_dir not sorting config files before loading.
Thanks to momoskitto.
7 years ago
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.
7 years ago
Roger A. Light 9378016b19 Fix build failure when using WITH_ADNS=yes 7 years ago
Roger A. Light 1b5c900e77 Update CVE details and bump version number. 7 years ago
Roger A. Light 1c075988ca Log message for disconnecting a client with invalid UTF-8 topic.
Closes #1144. Thanks to Kris Mattheus.
7 years ago
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.
7 years ago
Roger A. Light 17b52bd5d1 Windows: Fix possible crash when client disconnects.
Closes #1137. Thanks to Kris Mattheus.
7 years ago
Roger A. Light d6a690aa8d Fix Will not being sent for Websockets clients.
Closes #1143. Thanks to salcedo.
7 years ago
Roger A. Light ab8b57ff54 Allow broker to always restart on Windows when using `log_dest file`.
Closes #1080. Thanks to lcouz.
7 years ago
Roger A. Light 29a1936c77 Fix spaces not being allowed in the bridge remote_username option.
Closes #1131. Thanks to beville.
7 years ago
Roger A. Light ce1d0ae364 Man page can now be built on any system.
Closes #1139. Huge thanks to Chris Mayo.
7 years ago
Roger Light c40957a7d8 Fix and tests for CVE-2018-12546. 7 years ago
Roger A. Light d8505624d0 Fix and tests for security bug #541870. 7 years ago
Roger A. Light 36b5421c59 Fix and tests for security bug #543401. 7 years ago
Roger Light 5236295159 Handle mismatched handshakes properly.
For example, a QoS1 PUBLISH with QoS2 reply.
7 years ago
Roger A. Light 495e9647c2 Improve bridge remapping documentation. 7 years ago
Roger A. Light ad42f449d8 Update changelog for previous PR.
Thanks to Matthias Stone.
7 years ago
Roger A. Light e8320cbf19 Fix TLS connections not working over SOCKS.
Thanks to Mark Oeltjenbruns.
7 years ago
Roger A. Light a2b78d87a6 Update changelog 7 years ago
Roger A. Light be9c1071b0 Fix compilation when openssl deprecated APIs are not available.
Closes #1094. Thanks to Rosen Penev.
7 years ago
Roger A. Light 70c4097b6f Fix comparison of boolean values in CMake build.
Closes #1101. Thanks to Mojca Miklavec and Andrew L. Moore.
7 years ago
Roger A. Light 4a2e569171 -V now accepts `5, `311`, `31`, as well as `mqttv5` etc. 7 years ago
Roger A. Light 2f54b16544 Fix mosquitto_pub not always sending everything with -l and QoS>0. 7 years ago
Roger A. Light 19fbbd8726 Update details of CVE-2018-20145. 7 years ago
Roger A. Light fcf4cd0b27 Merge branch 'master' into mqtt5 7 years ago
Roger A. Light a8ca5c83af Bump version. 7 years ago
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.
7 years ago
Roger A. Light a00dd29af8 Fix building where TLS-PSK is not available.
Closes #68.
7 years ago
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
7 years ago
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
7 years ago
Roger A. Light 6ef2c79e9a Add max_keepalive, for limiting keepalives of MQTT v5 clients. 7 years ago
Roger A. Light 48c2217015 auto_id_prefix now defaults to 'auto-'. 7 years ago
Roger A. Light 1d3949bce0 Improve broker generated client ids for the non-Linux case.
Removes libuuid dependency.
7 years ago
Roger A. Light 3a871828ac Print message on error when installing as a Windows service. 7 years ago
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
7 years ago
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
7 years ago
Roger A. Light 5d02f58151 Fix reconnect delay backoff behaviour.
Closes #1027. Thanks to Harm Verhagen.

Bug: https://github.com/eclipse/mosquitto/issues/1027
7 years ago
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
7 years ago
Roger A. Light d29dac087d Add socket_domain option. 7 years ago
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
7 years ago
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.
7 years ago
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.
7 years ago
Roger A. Light b803b40a22 Update changelog. 7 years ago
Roger A. Light 34c752a0d0 Give better error message if a client sends a password without a username.
Closes #1015. Thanks to TabascoEye.
7 years ago
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
7 years ago
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
7 years ago
Roger A. Light eff8fab1b4 Only process network errors for clients that have nothing to read.
Closes #7.
7 years ago
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>
7 years ago
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.
7 years ago
Roger A. Light 1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
7 years ago
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.
7 years ago
Roger A. Light 8b66a323cd Add mosquitto_subscribe_multiple()
For sending subscriptions to multiple topics in one command.
7 years ago
Roger A. Light c78003cacf Bump version number, add CVE details. 7 years ago
Roger A. Light 588d39efdc Fix Windows version not starting if include_dir did not contain any files.
Closes #566.

Thanks to marleau.
7 years ago
Roger A. Light d9fc9cd0ae Add allow_zero_length_clientid, auto_id_prefix documentation.
Closes #600.
7 years ago
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.
7 years ago
Roger A. Light 008d424a33 Minor documentation fix. Closes #520. 7 years ago
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.
7 years ago
Roger A. Light 59bd07627d Various build improvements to help packaging. 7 years ago
Roger A. Light 7ca3a24686 Remove requirement to use `user root` in snap package config files. 7 years ago
Roger A. Light 0e16a248f2 Elevate log level to warning for situation when socket limit is hit. 7 years ago
Roger A. Light 3f87232065 Bump version number. 7 years ago
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.
7 years ago
Roger A. Light 2b4ba10b3d Fix "round_robin false" behaviour.
Closes #481.
7 years ago
Roger A. Light 1e47ee4cad Fix for bridge connections when using WITH_ADNS=yes. 7 years ago
Roger A. Light 888ca48823 Changelog entry for #932. 7 years ago
Roger A. Light ae45bd3d40 Update changelog and fixes to #927 PR. 7 years ago
Roger A. Light ee8e20de75 Fix excessive CPU usage when the number of sockets exceeds the system limit.
Closes #948. Thanks to wiebeytec.
7 years ago
Roger A. Light dceb02f444 Make it easier to build without bundled uthash.h.
Use "make WITH_BUNDLED_DEPS=no".
7 years ago
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>
7 years ago
Roger A. Light 2221deb7a7 Fix build when using WITH_ADNS=yes. 7 years ago
Roger A. Light a9da3c263d Bump version number.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light 11395f9852 Fix accessor functions for username and client id when used in plugin auth check. 7 years ago
Roger A. Light 14bd96e1e1 Add support for compiling with static libwebsockets library. 7 years ago
Roger A. Light 0ec090f31a Fixes for building on FreeBSD. 7 years ago
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>
7 years ago
Roger A. Light 3d3b7fc46f Fix default port problem when compiling clients using WITH_TLS=no. 7 years ago
Roger A. Light ab5af8f0b9 Fix building for libwebsockets < 1.6. 7 years ago
Roger A. Light af2678ea49 Fix possible endian issue when reading the `memory_limit` option.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light 10b19a42ed Fixes for building on NetBSD.
Closes #258.

Thanks to Daniel Ölschlegel.
7 years ago
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.
7 years ago
Roger A. Light 7c94a73c17 Fix UNSUBACK messages not being logged.
Closes #903.

Thanks to Christoph Krey.
7 years ago
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>
7 years ago
Roger A. Light 8603d32819 Update changelog.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
Roger A. Light 4bacbecb1b Fix some places where return codes were incorrect.
Closes #850.

Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light fc9a0db966 All clients now time out if they exceed their keepalive*1.5
This was inconsistent before.

Partially addresses #865.
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
Roger A. Light a954081673 Print more OpenSSL errors when loading certificates/keys fail.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago