Go to file
Roger A. Light 29c771cdd4 Add lib and client support for OS CA certs
- Add `MOSQ_OPT_TLS_USE_OS_CERTS` option, to instruct the client to load and  trust OS provided CA certificates for use with TLS connections.
- All clients now load OS provided CA certificates if used with `-L
  mqtts://...`, or if port is set to 8883 and no other CA certificates are
  used. Closes #1824.
- Add the `--tls-use-os-certs` option to all clients.

Closes #1824. Thanks to Jens Reimann.
2020-12-01 11:51:13 +00:00
.github Try alternative flow for cov sync. 2020-11-24 10:09:30 +00:00
apps ctrl: Add warning if connecting without encryption. 2020-11-30 10:47:22 +00:00
client Add lib and client support for OS CA certs 2020-12-01 11:51:13 +00:00
cmake
deps
doc
docker
examples
include Add lib and client support for OS CA certs 2020-12-01 11:51:13 +00:00
installer Consistency in readme naming. 2020-11-12 22:08:38 +00:00
lib Add lib and client support for OS CA certs 2020-12-01 11:51:13 +00:00
logo
man Add lib and client support for OS CA certs 2020-12-01 11:51:13 +00:00
misc
plugins dynsec: Fix logging args. 2020-11-30 13:13:48 +00:00
security
service
snap
src Set SSL_OP_SINGLE_DH_USE to protect against weak dhparam primes. 2020-12-01 10:55:00 +00:00
test Null checks in client tests. 2020-12-01 09:48:11 +00:00
www Point Windows users to older installers if needed. 2020-11-17 10:58:54 +00:00
.gitignore Ignore windows 64 bit build dir. 2020-11-17 10:21:58 +00:00
.travis.yml
about.html Update to EPL-2.0 2020-11-25 17:34:21 +00:00
aclfile.example
appveyor.yml
buildtest.py Better outgoing QoS 0 limiting. 2020-11-25 10:00:45 +00:00
ChangeLog.txt Add lib and client support for OS CA certs 2020-12-01 11:51:13 +00:00
CMakeLists.txt CMake: add options about whether to build the apps and plugins 2020-11-20 16:24:02 +00:00
COMPILING.md Consistency in readme naming. 2020-11-12 22:08:38 +00:00
config.h Support cJSON < 1.7.13. 2020-11-25 16:57:33 +00:00
config.mk Integrate debugging only xtreport code. 2020-11-24 12:04:37 +00:00
CONTRIBUTING.md
edl-v10
epl-v20 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
libmosquitto.pc.in
libmosquittopp.pc.in
LICENSE.txt Update to EPL-2.0 2020-11-25 17:34:21 +00:00
Makefile Consistency in readme naming. 2020-11-12 22:08:38 +00:00
mosquitto.conf Add ciphers_tls1.3 option, to allow setting TLS v1.3 ciphersuites. 2020-12-01 10:45:10 +00:00
notice.html Update to EPL-2.0 2020-11-25 17:34:21 +00:00
pskfile.example
pwfile.example
README-letsencrypt.md
README-tests.md Consistency in readme naming. 2020-11-12 22:08:38 +00:00
README-windows.txt Consistency in readme naming. 2020-11-12 22:08:38 +00:00
README.md Consistency in readme naming. 2020-11-12 22:08:38 +00:00
SECURITY.md
set-version.sh
THANKS.txt
travis-configure.sh
travis-install.sh Attempt to fix travis on osx and unreliable test. 2020-11-23 22:19:39 +00:00

Eclipse Mosquitto

Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing.

See the following links for more information on MQTT:

Mosquitto project information is available at the following locations:

There is also a public test server available at https://test.mosquitto.org/

Installing

See https://mosquitto.org/download/ for details on installing binaries for various platforms.

Quick start

If you have installed a binary package the broker should have been started automatically. If not, it can be started with a basic configuration:

mosquitto

Then use mosquitto_sub to subscribe to a topic:

mosquitto_sub -t 'test/topic' -v

And to publish a message:

mosquitto_pub -t 'test/topic' -m 'hello world'

Documentation

Documentation for the broker, clients and client library API can be found in the man pages, which are available online at https://mosquitto.org/man/. There are also pages with an introduction to the features of MQTT, the mosquitto_passwd utility for dealing with username/passwords, and a description of the configuration file options available for the broker.

Detailed client library API documentation can be found at https://mosquitto.org/api/

Building from source

To build from source the recommended route for end users is to download the archive from https://mosquitto.org/download/.

On Windows and Mac, use cmake to build. On other platforms, just run make to build. For Windows, see also README-windows.md.

If you are building from the git repository then the documentation will not already be built. Use make binary to skip building the man pages, or install docbook-xsl on Debian/Ubuntu systems.

Build Dependencies

  • c-ares (libc-ares-dev on Debian based systems) - only when compiled with make WITH_SRV=yes
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=yes
  • openssl (libssl-dev on Debian based systems) - disable with make WITH_TLS=no
  • xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with make WITH_DOCS=no
  • uthash / utlist - bundled versions of these headers are provided, disable their use with make WITH_BUNDLED_DEPS=no
  • cJSON - for client JSON output support. Disable with make WITH_CJSON=no Auto detected with CMake.

Equivalent options for enabling/disabling features are available when using the CMake build.

Credits

Mosquitto was written by Roger Light roger@atchoo.org

Master: Travis Build Status (master) Develop: Travis Build Status (develop) Fixes: Travis Build Status (fixes)