- Update to version 1.5.7
Broker:
- Ensure that an error occurs if `per_listener_settings true` is
given after other security options.
- Fix case where old unreferenced msg_store messages were being
saved to the persistence file, bloating its size unnecessarily.
Library:
- Fix `mosquitto_topic_matches_sub()` not returning MOSQ_ERR_INVAL
for invalid subscriptions like `topic/#abc`. This only affects
the return value, not the match/no match result, which was
already correct.
- Update to version 1.5.6
Security:
* Fix CVE-2018-12551 (bsc#1125021): If Mosquitto is configured to
use a password file for authentication, any malformed data in
the password file will be treated as valid. This typically means
that the malformed data becomes a username and no password.
If this occurs, clients can circumvent authentication and get
access to the broker by using the malformed username. In
particular, a blank line will be treated as a valid empty username.
Other security measures are unaffected. Users who have only used
the mosquitto_passwd utility to create and modify their password
files are unaffected by this vulnerability.
* Fix CVE-2018-12550 (bsc#1125021): If an ACL file is empty, or
has only blank lines or comments, then mosquitto treats the ACL
file as not being defined, which means that no topic access is
denied. Although denying access to all topics is not a useful
configuration, this behaviour is unexpected and could lead
to access being incorrectly granted in some circumstances. This
OBS-URL: https://build.opensuse.org/request/show/674913
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=18
- FIX CVE-2018-20145: mosquitto: ACL bypass (bnc#1119536)
- Update to version 1.5.5
Security:
* If `per_listener_settings` is set to true, then the `acl_file` setting was
ignored for the "default listener" only. This has been fixed. This does not
affect any listeners defined with the `listener` option.
Broker:
* Add `socket_domain` option to allow listeners to disable IPv6 support.
This is required to work around a problem in libwebsockets that means
sockets only listen on IPv6 by default if IPv6 support is compiled in.
* When using ADNS, don't ask for all network protocols when connecting,
because this can lead to confusing "Protocol not supported" errors if the
network is down.
* Fix outgoing retained messages not being sent by bridges on initial
connection.
* Don't reload auth_opt_ options on reload, to match the behaviour of the
other plugin options.
* Print message on error when installing/uninstalling as a Windows service.
* All non-error connect/disconnect messages are controlled by the
`connection_messages` option.
Library:
* Fix reconnect delay backoff behaviour.
* Don't call on_disconnect() twice if keepalive tests fail.
Client:
* Always print leading zeros in mosquitto_sub when output format is hex.
Build:
* Fix building where TLS-PSK is not available.
- Update to version 1.5.4
Security:
* When using a TLS enabled websockets listener with "require_certificate"
OBS-URL: https://build.opensuse.org/request/show/658974
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=17
- Update to version 1.5.3
Security:
* Fix CVE-2018-12543. If a message is sent to Mosquitto with a topic that
begins with $, but is not $SYS, then an assert that should be unreachable is
triggered and Mosquitto will exit.
Broker:
* Elevate log level to warning for situation when socket limit is hit.
* Fix retained messages not sent by bridges on outgoing topics at the first
connection.
* Fix duplicate clients being added to by_id hash before the old client was
removed.
- Update to version 1.5.2
Broker:
* Fix incorrect call to setsockopt() for TCP_NODELAY.
* Fix excessive CPU usage when the number of sockets exceeds the system limit.
* Fix round_robin false behaviour.
* Fix segfault on HUP when bridges and security options are configured.
Library:
* Fix situation where username and password is used with SOCKS5 proxy.
* Fix SOCKS5 behaviour when passing IP addresses.
OBS-URL: https://build.opensuse.org/request/show/644721
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=15
- Update to version 1.5.1
Broker:
* Fix plugin cleanup function not being called on exit of the broker.
* Print more OpenSSL errors when loading certificates/keys fail.
* Use AF_UNSPEC etc. instead of PF_UNSPEC to comply with POSIX.
* Remove use of AI_ADDRCONFIG, which means the broker can be used on systems
where only the loopback interface is defined.
* Fix IPv6 addresses not being able to be used as bridge addresses.
* All clients now time out if they exceed their keepalive*1.5, rather than
just reach it. This was inconsistent in two places.
* Fix segfault on startup if bridge CA certificates could not be read.
* Fix problem opening listeners on Pi caused by unsigned char being default.
* ACL patterns that do not contain either %c or %u now produce a warning in
the log.
* Fix bridge publishing failing when per_listener_settings was true.
* Fix `use_identity_as_username true` not working.
* Fix UNSUBACK messages not being logged.
* Fix possible endian issue when reading the `memory_limit` option.
* Fix building for libwebsockets < 1.6.
* Fix accessor functions for username and client id when used in plugin auth
check.
Library:
* Fix some places where return codes were incorrect, including to the
on_disconnect() callback. This has resulted in two new error codes,
MOSQ_ERR_KEEPALIVE and MOSQ_ERR_LOOKUP.
* Fix connection problems when mosquitto_loop_start() was called before
mosquitto_connect_async().
Clients:
OBS-URL: https://build.opensuse.org/request/show/630414
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=13
- Update to version 1.5
Security:
* Fix memory leak that could be caused by a malicious CONNECT packet. This
does not yet have a CVE assigned. Closes#533493 (on Eclipse bugtracker)
Broker features:
* Add per_listener_settings to allow authentication and access control to be
per listener.
* Add limited support for reloading listener settings. This allows settings
for an already defined listener to be reloaded, but port numbers must not be
changed.
* Add ability to deny access to SUBSCRIBE messages as well as the current
read/write accesses. Currently for auth plugins only.
* Reduce calls to malloc through the use of UHPA.
* Outgoing messages with QoS>1 are no longer retried after a timeout period.
Messages will be retried when a client reconnects. This change in behaviour
can be justified by considering when the timeout may have occurred.
+ If a connection is unreliable and has dropped, but without one end
noticing, the messages will be retried on reconnection. Sending
additional PUBLISH or PUBREL would not have changed anything.
+ If a client is overloaded/unable to respond/has a slow connection then
sending additional PUBLISH or PUBREL would not help the client catch
up. Once the backlog has cleared the client will respond. If it is not
able to catch up, sending additional duplicates would not help either.
* Add use_subject_as_username option for certificate based client
authentication to use the entire certificate subject as a username, rather
than just the CN. Closes#469467.
* Change sys tree printing output. This format shouldn't be relied upon and
may change at any time. Closes#470246.
* Minimum supported libwebsockets version is now 1.3.
OBS-URL: https://build.opensuse.org/request/show/604393
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=11
- Update to version 1.4.15
Security:
* Fix CVE-2017-7652. If a SIGHUP is sent to the broker when there are no more
file descriptors, then opening the configuration file will fail and security
settings will be set back to their default values.
* Fix CVE-2017-7651. Unauthenticated clients can cause excessive memory use by
setting "remaining length" to be a large value. This is now mitigated by
limiting the size of remaining length to valid values. A "memory_limit"
configuration option has also been added to allow the overall memory used by
the broker to be limited.
Broker:
* Use constant time memcmp for password comparisons.
* Fix incorrect PSK key being used if it had leading zeroes.
* Fix memory leak if a client provided a username/password for a listener with
use_identity_as_username configured.
* Fix use_identity_as_username not working on websockets clients.
* Don't crash if an auth plugin returns MOSQ_ERR_AUTH for a username check on
a websockets client. Closes#490.
* Fix 08-ssl-bridge.py test when using async dns lookups. Closes#507.
* Lines in the config file are no longer limited to 1024 characters long.
Closes#652.
* Fix $SYS counters of messages and bytes sent when message is sent over
a Websockets. Closes#250.
* Fix upgrade_outgoing_qos for retained message. Closes#534.
* Fix CONNACK message not being sent for unauthorised connect on websockets.
Closes#8.
Client library:
* Fix incorrect PSK key being used if it had leading zeroes.
OBS-URL: https://build.opensuse.org/request/show/581738
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=9
- Update to 1.4.13
* Security:
- Fix CVE-2017-9868. The persistence file was readable
by all local users, potentially allowing sensitive
information to be leaked.
This can also be fixed administratively, by restricting
access to the directory in which the persistence file
is stored.
* Broker:
- Fix for poor websockets performance.
- Fix lazy bridges not timing out for idle_timeout.
- Fix problems with large retained messages over websockets.
- Set persistence file to only be readable by owner,
except on Windows.
- Fix CONNECT check for reserved=0, as per MQTT v3.1.1
check MQTT-3.1.2-3.
- When the broker stop, wills for any connected clients
are now "sent".
- Auth plugins can be configured to disable the check for +# in
usernames/client ids with the auth_plugin_deny_special_chars
option. Partially closes#462.
- Restrictions for CVE-2017-7650 have been relaxed - '/' is
allowed in usernames/client ids. Remainder of fix for #462.
Clients:
- Don't use / in auto-generated client ids.
OBS-URL: https://build.opensuse.org/request/show/508416
OBS-URL: https://build.opensuse.org/package/show/network:messaging:mqtt/mosquitto?expand=0&rev=2