Mosquitto and POODLE
Details of the POODLE attack that targets SSLv3 have been released recently. Mosquitto has never provided support for SSLv3 (or SSLv2) so should not be vulnerable to this attack and does not require any configuration changes.
Details of the POODLE attack that targets SSLv3 have been released recently. Mosquitto has never provided support for SSLv3 (or SSLv2) so should not be vulnerable to this attack and does not require any configuration changes.
Version 1.3.4 introduced the change that when using TLS with
require_certificate
set to false, the client is no longer asked for a client
certificate. This seemed to be causing problems in some situations,
particularly with embedded devices.
If use_identity_as_username
is set to true when require_certificate
is set
to false, then the client will not be asked for a certificate, even if it has
one configured. This means that the client will be refused access with connack
code 4, "bad username or password", because if use_identity_as_username
currently requires that a certificate is present, even if allow_anonymous
is
set to true.
This change may cause unexpected results, but does not represent a security flaw because the change results in more clients being rejected than would otherwise have been.
This is a bugfix release.
This is a bugfix release. The reason for the rapid release of the past two versions is down to a Debian developer reviewing the mosquitto package. This is a good opportunity to ensure that as bug free a version as possible is present in Debian.
require_certificate
is false.Binaries will follow shortly.
This is a bugfix release.
Binaries will follow shortly.
This is a security and bugfix release.
A bug in the way that mosquitto handles authentication plugins has been
identified. When using a plugin for authentication purposes, if the plugin
returns MOSQ_ERR_UNKNOWN
when making an authentication check, as might happen
if a database was unavailable for example, then mosquitto incorrectly treats
this as a successful authentication. This has the potential for unauthorised
clients to access the running mosquitto broker and gain access to information
to which they are not authorised. This is an important update for users of
authentication plugins in mosquitto.
mosquitto_disconnect()
, when using
the threaded interfaces. Closes bug #1313725.I'm pleased to say that I'm a new father again. My 7lb 12 (3.57kg) boy arrived today and is quite happy, as is his mother.
Apologies to anybody who has emailed me recently and I've not yet replied - this is the main reason!
This is a bugfix release:
foo/+bar
#/bar
.WITH_THREADING=no
.mosquitto_loop_stop()
.foo/+bar
#/bar
.auth_plugin_init()
return value.$SYS/broker/heap/current size
to $SYS/broker/heap/current
for
easier parsing.$SYS/broker/heap/maximum size
to $SYS/broker/heap/maximum
for
easier parsing.a///topic
to a/topic
. This
matches the behaviour as clarified by the Oasis MQTT spec. This will lead to
unexpected behaviour if you were using topics of this form.allow_zero_length_clientid
).auto_id_prefix
).mosquitto_want_write()
now supports TLS clients.mosquitto_strerror()
to make error printing
easier.a///topic
to a/topic
. This
matches the behaviour as clarified by the Oasis MQTT spec. This will lead to
unexpected behaviour if you were using topics of this form.mosquitto_destroy()
when a client is not using
the threaded interface but does use their own thread. Fixes bug #1291473.--ciphers
to allow specifying which TLS ciphers to support.-N
to sub client to suppress printing of EOL after the payload.-T
to sub client to suppress printing of a topic hierarchy.The Mosquitto Python client was donated to the Eclipse Paho project in June of this year. As mosquitto.py has been very popular, I have been maintaining both code bases together.
With the Mosquitto project also moving to Eclipse it is now even more redundant to keep maintaining mosquitto.py so I would like to recommend that everybody currently using mosquitto.py move over to using the Paho Python client.
The current state of the Paho client is now available on pypi and can be
installed using pip install paho-mqtt
.
To port code from mosquitto.py, you should change:
import mosquitto mqttc = mosquitto.Mosquitto()
to:
import paho.mqtt.client as paho mqttc = paho.Client()
All error codes e.g. MOSQ_ERR_SUCCESS
change to MQTT_ERR_SUCCESS
.
The Paho module has a compatibility Mosquitto class that means a very simple (but not recommended for the long term) port can be achieved with the following line, assuming none of the error codes are used:
import paho.mqtt.client as mosquitto
I will keep applying updates to mosquitto.py until the Paho 1.0 release.