Eclipse Mosquitto - An open source MQTT broker
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Roger A. Light 385ddd7d86 Limit bridge restart base and cap to prevent integer overflow.
Non-critical.

Closes oss-fuzz #56302.
3 years ago
.github Add cmake build and test workflow. 3 years ago
apps Fuzzing: Basic mosquitto_passwd target 3 years ago
client Add --tls-keylog for clients. 3 years ago
cmake Windows fixes. 3 years ago
common Fix building with WITH_CJSON=no 3 years ago
deps picohttpparse dependency 4 years ago
doc Pointless whitespace tidy. 4 years ago
docker Merge branch 'master' into develop 3 years ago
examples Use path vars in Makefiles. 4 years ago
fuzzing Fuzzing: Basic mosquitto_passwd target 3 years ago
include Only typedef mosquitto_plugin_id_t once. 3 years ago
installer Fix Windows workflow name and update installer 3 years ago
lib Fix build in some configurations. 3 years ago
logo Improve logo files. 9 years ago
man Limit bridge restart base and cap to prevent integer overflow. 3 years ago
misc Pointless whitespace tidy. 4 years ago
plugins Coverity suppressions 3 years ago
security Fix apparmor incorrectly denying access db tmp file. 5 years ago
service Systemd: Add mosquitto group ownership 3 years ago
snap Long overdue bump of in-development version number. 4 years ago
src Limit bridge restart base and cap to prevent integer overflow. 3 years ago
test Some support for running broker sequence tests over websockets 3 years ago
www Merge branch 'master' into develop 3 years ago
.gitignore Fuzzing: Broker config file testing. 3 years ago
CMakeLists.txt Consistent mosquitto.conf install cmake / make 3 years ago
CONTRIBUTING.md Fix link in CONTRIBUTING.md. 6 years ago
ChangeLog.txt Add --tls-keylog for clients. 3 years ago
LICENSE.txt Update to EPL-2.0 5 years ago
Makefile Support for initial fuzzing through oss-fuzz 3 years ago
NOTICE.md Update notice file. 4 years ago
README-compiling.md Add man page deps to readme. 4 years ago
README-letsencrypt.md Breaking: Drop privileges after loading the configuration 5 years ago
README-tests.md Consistency in readme naming. 5 years ago
README-windows.txt Merge branch 'master' into develop 4 years ago
README.md Add more documentation on pthread support. 5 years ago
SECURITY.md Add SECURITY.md. 6 years ago
THANKS.txt Pointless whitespace tidy. 4 years ago
about.html Pointless whitespace tidy. 4 years ago
aclfile.example Initial contribution. 12 years ago
appveyor.yml Update appveyor to take into account now available packages. 8 years ago
buildtest.py Pointless whitespace tidy. 4 years ago
config.h Windows fixes. 3 years ago
config.mk Add --tls-keylog for clients. 3 years ago
edl-v10 Pointless whitespace tidy. 4 years ago
epl-v20 Pointless whitespace tidy. 4 years ago
libmosquitto.pc.in Add pkg-config files to CMake build (#213) 9 years ago
libmosquittopp.pc.in Add pkg-config files to CMake build (#213) 9 years ago
mosquitto.conf Limit bridge restart base and cap to prevent integer overflow. 3 years ago
pskfile.example Initial contribution. 12 years ago
pwfile.example Initial contribution. 12 years ago
set-version.sh Bump version, new web post 3 years ago

README.md

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
  • cJSON - for client JSON output support. Disable with make WITH_CJSON=no Auto detected with CMake.
  • libwebsockets (libwebsockets-dev) - enable with make WITH_WEBSOCKETS=yes
  • openssl (libssl-dev on Debian based systems) - disable with make WITH_TLS=no
  • pthreads - for client library thread support. This is required to support the mosquitto_loop_start() and mosquitto_loop_stop() functions. If compiled without pthread support, the library isn't guaranteed to be thread safe.
  • uthash / utlist - bundled versions of these headers are provided, disable their use with make WITH_BUNDLED_DEPS=no
  • xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with make WITH_DOCS=no

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)