Merge branch 'master'
commit
35dea07dcd
@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
# Test whether a PUBLISH to a topic starting with $ succeeds
|
||||||
|
|
||||||
|
import inspect, os, sys
|
||||||
|
# From http://stackoverflow.com/questions/279237/python-import-a-module-from-a-folder
|
||||||
|
cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(inspect.getfile( inspect.currentframe() ))[0],"..")))
|
||||||
|
if cmd_subfolder not in sys.path:
|
||||||
|
sys.path.insert(0, cmd_subfolder)
|
||||||
|
|
||||||
|
import mosq_test
|
||||||
|
|
||||||
|
rc = 1
|
||||||
|
mid = 19
|
||||||
|
keepalive = 60
|
||||||
|
connect_packet = mosq_test.gen_connect("pub-dollar-test", keepalive=keepalive)
|
||||||
|
connack_packet = mosq_test.gen_connack(rc=0)
|
||||||
|
|
||||||
|
publish_packet = mosq_test.gen_publish("$test/test", qos=1, mid=mid, payload="message")
|
||||||
|
puback_packet = mosq_test.gen_puback(mid)
|
||||||
|
|
||||||
|
port = mosq_test.get_port()
|
||||||
|
broker = mosq_test.start_broker(filename=os.path.basename(__file__), port=port)
|
||||||
|
|
||||||
|
try:
|
||||||
|
sock = mosq_test.do_client_connect(connect_packet, connack_packet, port=port)
|
||||||
|
mosq_test.do_send_receive(sock, publish_packet, puback_packet, "puback")
|
||||||
|
|
||||||
|
rc = 0
|
||||||
|
|
||||||
|
sock.close()
|
||||||
|
finally:
|
||||||
|
broker.terminate()
|
||||||
|
broker.wait()
|
||||||
|
(stdo, stde) = broker.communicate()
|
||||||
|
if rc:
|
||||||
|
print(stde)
|
||||||
|
|
||||||
|
exit(rc)
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
<!--
|
||||||
|
.. title: Updated Debian Repository Backend
|
||||||
|
.. slug: updated-debian-repository-backend
|
||||||
|
.. date: 2018-08-08 23:00:43 UTC+01:00
|
||||||
|
.. tags: Packaging
|
||||||
|
.. category:
|
||||||
|
.. link:
|
||||||
|
.. description:
|
||||||
|
.. type: text
|
||||||
|
-->
|
||||||
|
|
||||||
|
The backend software for administering the Debian repository at
|
||||||
|
https://repo.mosquitto.org/ has been migrated from `reprepro` to `aptly`. This
|
||||||
|
has the benefit of allowing multiple versions of a package to remain in the
|
||||||
|
repository.
|
||||||
|
|
||||||
|
For mosquitto, this now means that old versions of the Debian packages will
|
||||||
|
remain available even after newer versions are published, and so you can depend
|
||||||
|
on a particular version. The recommendation is always to use the latest version
|
||||||
|
of course.
|
||||||
|
|
||||||
|
This change should be transparent to all current users, but there is the
|
||||||
|
possibility that something is different between the two repository tools. If
|
||||||
|
you do find a problem, please let us know.
|
||||||
|
|
||||||
|
The repository now has builds for versions 1.4.15 and 1.5.
|
@ -0,0 +1,87 @@
|
|||||||
|
<!--
|
||||||
|
.. title: Version 1.5.1 released
|
||||||
|
.. slug: version-151-released
|
||||||
|
.. date: 2018-08-16 17:01:08 UTC+01:00
|
||||||
|
.. tags: Releases
|
||||||
|
.. category:
|
||||||
|
.. link:
|
||||||
|
.. description:
|
||||||
|
.. type: text
|
||||||
|
-->
|
||||||
|
|
||||||
|
This is a bugfix release.
|
||||||
|
|
||||||
|
# Packaging changes
|
||||||
|
|
||||||
|
* The snap package now has support for websockets included.
|
||||||
|
* The Windows packages have changed.
|
||||||
|
- Support for Windows XP was dropped in Mosquitto 1.5, so the need for the
|
||||||
|
Cygwin build has gone, and this has been dropped.
|
||||||
|
- There are now 64-bit and 32-bit native packages.
|
||||||
|
- Websockets support is included.
|
||||||
|
- Threading support is not included in libmosquitto to simplify installation,
|
||||||
|
alternative solutions are being looked into for the future.
|
||||||
|
- The only external dependency is now OpenSSL.
|
||||||
|
|
||||||
|
# Version 1.5.1 changes
|
||||||
|
|
||||||
|
## Broker
|
||||||
|
- Fix plugin cleanup function not being called on exit of the broker. Closes
|
||||||
|
[#900].
|
||||||
|
- Print more OpenSSL errors when loading certificates/keys fail.
|
||||||
|
- Use `AF_UNSPEC` etc. instead of `PF_UNSPEC` to comply with POSIX. Closes
|
||||||
|
[#863].
|
||||||
|
- Remove use of `AI_ADDRCONFIG`, which means the broker can be used on systems
|
||||||
|
where only the loopback interface is defined. Closes [#869], Closes [#901].
|
||||||
|
- Fix IPv6 addresses not being able to be used as bridge addresses.
|
||||||
|
Closes [#886].
|
||||||
|
- 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.
|
||||||
|
Closes [#851].
|
||||||
|
- Fix problem opening listeners on Pi caused by unsigned char being default.
|
||||||
|
Found via [#849].
|
||||||
|
- ACL patterns that do not contain either `%c` or `%u` now produce a warning in
|
||||||
|
the log. Closes [#209].
|
||||||
|
- Fix bridge publishing failing when `per_listener_settings` was true. Closes
|
||||||
|
[#860].
|
||||||
|
- Fix `use_identity_as_username true` not working. Closes [#833].
|
||||||
|
- Fix UNSUBACK messages not being logged. Closes [#903].
|
||||||
|
- 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()`. Closes [#848].
|
||||||
|
|
||||||
|
## Clients
|
||||||
|
- When compiled using `WITH_TLS=no`, the default port was incorrectly being set
|
||||||
|
to -1. This has been fixed.
|
||||||
|
- Fix compiling on Mac OS X <10.12. Closes `#813` and `#240`.
|
||||||
|
|
||||||
|
## Build
|
||||||
|
- Fixes for building on NetBSD. Closes `#258`.
|
||||||
|
- Fixes for building on FreeBSD.
|
||||||
|
- Add support for compiling with static libwebsockets library.
|
||||||
|
|
||||||
|
|
||||||
|
[#209]: https://github.com/eclipse/mosquitto/issues/209
|
||||||
|
[#240]: https://github.com/eclipse/mosquitto/issues/240
|
||||||
|
[#258]: https://github.com/eclipse/mosquitto/issues/258
|
||||||
|
[#813]: https://github.com/eclipse/mosquitto/issues/813
|
||||||
|
[#833]: https://github.com/eclipse/mosquitto/issues/833
|
||||||
|
[#848]: https://github.com/eclipse/mosquitto/issues/848
|
||||||
|
[#849]: https://github.com/eclipse/mosquitto/issues/849
|
||||||
|
[#851]: https://github.com/eclipse/mosquitto/issues/851
|
||||||
|
[#860]: https://github.com/eclipse/mosquitto/issues/860
|
||||||
|
[#863]: https://github.com/eclipse/mosquitto/issues/863
|
||||||
|
[#869]: https://github.com/eclipse/mosquitto/issues/869
|
||||||
|
[#886]: https://github.com/eclipse/mosquitto/issues/886
|
||||||
|
[#900]: https://github.com/eclipse/mosquitto/issues/900
|
||||||
|
[#901]: https://github.com/eclipse/mosquitto/issues/901
|
||||||
|
[#903]: https://github.com/eclipse/mosquitto/issues/903
|
@ -0,0 +1,59 @@
|
|||||||
|
<!--
|
||||||
|
.. title: Security advisory: CVE-2018-12543
|
||||||
|
.. slug: security-advisory-cve-2018-12543
|
||||||
|
.. date: 2018-09-27 10:36:19 UTC+01:00
|
||||||
|
.. tags: Security,Releases
|
||||||
|
.. category:
|
||||||
|
.. link:
|
||||||
|
.. description:
|
||||||
|
.. type: text
|
||||||
|
-->
|
||||||
|
|
||||||
|
Mosquitto 1.5.3 has been released to address a security vulnerability. It also
|
||||||
|
includes other bug fixes.
|
||||||
|
|
||||||
|
# CVE-2018-12543
|
||||||
|
|
||||||
|
A vulnerability exists in Mosquitto versions 1.5 to 1.5.2 inclusive, known as
|
||||||
|
[CVE-2018-12543].
|
||||||
|
|
||||||
|
If a message received by the broker has a topic that begins with `$`, but that
|
||||||
|
does not begin `$SYS`, an assert is triggered that should otherwise not be
|
||||||
|
accessible, causing Mosquitto to exit.
|
||||||
|
|
||||||
|
The issue is fixed in Mosquitto 1.5.3. Patches for older versions are
|
||||||
|
available at <https://mosquitto.org/files/cve/2018-12543>
|
||||||
|
|
||||||
|
The fix addresses the problem by reverting a commit that intended to remove
|
||||||
|
some unused checks, but also stopped part of the topic hierarchy being created.
|
||||||
|
|
||||||
|
# Version 1.5.3 Changes
|
||||||
|
|
||||||
|
The complete list of fixes addressed in version 1.5.3 is:
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
* Remove requirement to use `user root` in snap package config files.
|
||||||
|
* Fix retained messages not sent by bridges on outgoing topics at the first
|
||||||
|
connection. Closes [#701].
|
||||||
|
* Documentation fixes. Closes [#520], [#600].
|
||||||
|
* Fix duplicate clients being added to by_id hash before the old client was
|
||||||
|
removed. Closes [#645].
|
||||||
|
* Fix Windows version not starting if `include_dir` did not contain any files.
|
||||||
|
Closes [#566].
|
||||||
|
|
||||||
|
## Build
|
||||||
|
* Various fixes to ease building.
|
||||||
|
|
||||||
|
[CVE-2018-12543]: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12543
|
||||||
|
[#520]: https://github.com/eclipse/mosquitto/issues/520
|
||||||
|
[#566]: https://github.com/eclipse/mosquitto/issues/566
|
||||||
|
[#600]: https://github.com/eclipse/mosquitto/issues/600
|
||||||
|
[#645]: https://github.com/eclipse/mosquitto/issues/645
|
||||||
|
[#701]: https://github.com/eclipse/mosquitto/issues/701
|
@ -0,0 +1,40 @@
|
|||||||
|
<!--
|
||||||
|
.. title: Version 1.5.2 released
|
||||||
|
.. slug: version-152-released
|
||||||
|
.. date: 2018-09-19 18:18:36 UTC+01:00
|
||||||
|
.. tags: Releases
|
||||||
|
.. category:
|
||||||
|
.. link:
|
||||||
|
.. description:
|
||||||
|
.. type: text
|
||||||
|
-->
|
||||||
|
|
||||||
|
This is a bugfix release.
|
||||||
|
|
||||||
|
# Version 1.5.2 changes
|
||||||
|
|
||||||
|
## Broker
|
||||||
|
- Fix build when using `WITH_ADNS=yes`.
|
||||||
|
- Fix incorrect call to setsockopt() for `TCP_NODELAY`. Closes [#941].
|
||||||
|
- Fix excessive CPU usage when the number of sockets exceeds the system limit.
|
||||||
|
Closes [#948].
|
||||||
|
- Fix for bridge connections when using `WITH_ADNS=yes`.
|
||||||
|
- Fix `round_robin false` behaviour. Closes [#481].
|
||||||
|
- Fix segfault on HUP when bridges and security options are configured.
|
||||||
|
Closes [#965].
|
||||||
|
|
||||||
|
## Library
|
||||||
|
- Fix situation where username and password is used with SOCKS5 proxy. Closes
|
||||||
|
[#927].
|
||||||
|
- Fix SOCKS5 behaviour when passing IP addresses. Closes [#927].
|
||||||
|
|
||||||
|
## Build
|
||||||
|
- Make it easier to build without bundled uthash.h using `WITH_BUNDLED_DEPS=no`.
|
||||||
|
- Fix build with OPENSSL_NO_ENGINE. Closes [#932].
|
||||||
|
|
||||||
|
[#481]: https://github.com/eclipse/mosquitto/issues/481
|
||||||
|
[#927]: https://github.com/eclipse/mosquitto/issues/927
|
||||||
|
[#932]: https://github.com/eclipse/mosquitto/issues/932
|
||||||
|
[#941]: https://github.com/eclipse/mosquitto/issues/941
|
||||||
|
[#948]: https://github.com/eclipse/mosquitto/issues/948
|
||||||
|
[#965]: https://github.com/eclipse/mosquitto/issues/965
|
Loading…
Reference in New Issue