Commit Graph

227 Commits

Author SHA1 Message Date
Roger A. Light
c1e488cb88 Add timeout return code (27) for sub/rr using -W.
Closes #275.
2019-09-04 14:29:26 +01:00
Roger A. Light
14e1ae09dc max_packet_size applies to 3.1.1 and 3.1 clients as well 2019-09-04 13:59:12 +01:00
Roger A. Light
6f4e472260 Improve details on global/per listener options in the mosquitto.conf man page.
Closes #274.
2019-09-04 13:45:21 +01:00
Dan Langille
c169ad6abb
$HOME/.config/mosquitto_sub or pub?
Should $HOME/.config/mosquitto_sub be $HOME/.config/mosquitto_pub? It seems to be that way based on my testing.

I think this is a copy/paste error.
2019-08-12 18:46:45 -04:00
Roger A. Light
570c3674fb Drop privs to nobody if mosquitto user does not exist. 2019-08-07 10:42:03 +01:00
Jonas Helgemo
1001569fa3
docs: Fix typo on man-page for mosquitto.conf
- man-page has a typo in the 'bridge_capath' section under SSL/TLS support

Signed-off-by: Jonas Helgemo <jhel@pm.me>
2019-08-01 10:40:25 +02:00
Roger A. Light
9dc319c183 Remove obsolete store_clean_interval from documentation. 2019-06-06 23:04:21 +01:00
Roger A. Light
bd34d8c9cd Remove old man page references.
Thanks to Karl Palsson.

Closes #1266.
2019-05-22 09:45:02 +01:00
Roger A. Light
b4dfeb3767 Fix MQTT v5 clients not being able to specify a password without a username.
Thanks to Erik Moqvist.

Closes #1274.
2019-05-21 23:56:22 +01:00
Roger A. Light
46d5aa9682 Improve documentation around the upgrading of persistence files.
Thanks to jsaak.

Closes #1276.
2019-05-21 18:50:05 +01:00
Roger A. Light
439575475c Use CMAKE_INSTALL_* variables when installing in CMake.
Closes #1049. Thanks to Greg Troxel.
2019-04-26 17:07:05 +01:00
Roger A. Light
b649c972eb Document notifications better. Closes #1188. 2019-04-26 17:06:59 +01:00
Roger A. Light
2c0d6e3304 Fix rr description. 2019-04-26 12:25:30 +01:00
Roger A. Light
27b8bcf320 Document memory_limit option. 2019-04-26 11:48:29 +01:00
Roger A. Light
4995436b5a Add --repeat and --repeat-delay to mosquitto_pub. 2019-04-11 19:13:59 +01:00
Roger A. Light
eba9186c85 Update rr docs. 2019-04-11 12:19:07 +01:00
Roger A. Light
dec769ce33 Client and doc ALPN additions
Add ALPN support for all clients, update documentation, and add to ChangeLog.
2019-04-11 11:52:34 +01:00
Roger Light
77aaec686e
Merge pull request #1224 from omenlabs/ALPN
Bridge TLS Application-Layer Protocol Negotiation
2019-04-11 11:08:15 +01:00
John Hickey
c011be62a4 Bridge TLS Application-Layer Protocol Negotiation
In order to connect to brokers that support both websockets and
mqtt on the same port (such as Amazon IoT), we need to set an
application for the SSL context.  This change allows the specification
of an application by using the `bridge_alpn` configuration token.

Signed-off-by: John Hickey <jjh-github@daedalian.us>
2019-04-04 17:27:52 -07:00
Roger A. Light
a29a7dadc6 Basic plugin support for single step extended auth. 2019-04-04 11:37:04 +01:00
Roger A. Light
925debb8a5 Add mosquitto_rr, the "request-response" client. 2019-04-01 22:31:05 +01:00
Roger A. Light
ec3fd361be https links where possible. 2019-03-30 20:34:40 +00:00
Roger A. Light
75c2a39d2c Send topic alias maximum from the broker. 2019-03-27 17:38:35 +00:00
Roger A. Light
1220ba4bfe Rejig OCSP code. 2019-03-26 22:13:42 +00:00
Roger A. Light
ea046c2405 Merge branch 'master' of git://github.com/LarsVoelker/mosquitto into LarsVoelker-master 2019-03-26 18:36:13 +00:00
YoongHM
64469ae54e Typo
rmeote -> remote
2019-03-26 16:26:47 +00:00
Roger A. Light
320ddc1303 Merge branch 'master'
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	client/Makefile
	config.mk
	installer/mosquitto.nsi
	installer/mosquitto64.nsi
	lib/mosquitto.h
	lib/mqtt3_protocol.h
	lib/util_mosq.c
	set-version.sh
	snap/snapcraft.yaml
	src/bridge.c
	src/database.c
	src/handle_connack.c
	src/loop.c
	src/persist.c
	test/broker/Makefile
2019-03-16 10:05:38 +00:00
Roger Light
1a234323a3 Add support for custom log timestamps.
Closes #1121.
2019-03-13 11:24:14 +00:00
Roger A. Light
1ce1bce941 Add --remove-retained to mosquitto_sub
This can be used to clear retained messages on a broker.
2019-03-02 22:14:54 +00:00
Roger A. Light
0632549ce9 Doc improvements for websockets_header_size. 2019-02-28 00:34:23 +00:00
Pierre Fersing
1aaf5f2348 Add websockets_headers_size option
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2019-02-28 00:25:19 +00:00
Roger A. Light
1924afe49e Add explicit support for TLS v1.3 and drop TLS v1.0. 2019-02-27 22:50:01 +00:00
Roger A. Light
130ddf47f7 Add dhparamfile option, to allow DH parameters to be loaded.
This is for Ephemeral DH support on listeners.
2019-02-27 22:26:40 +00:00
Roger A. Light
dfbd33e0f4 Update documentation for bridge backup, plus tweaks
Sets default to use the backoff mechanism.
2019-02-27 13:52:19 +00:00
Abilio Marques
1773938d98 bridge: modify documentation for restart_timeout
Signed-off-by: Abilio Marques <abiliojr@gmail.com>
2019-02-27 13:25:28 +00:00
Roger A. Light
e334aad853 Rewrite bind_interface docs, update changelog. 2019-02-27 10:07:14 +00:00
Steven Lawrance
208c3d3e85 Allow binding a listener to a specific network interface
Signed-off-by: Steven Lawrance <stl@koffein.net>
2019-02-27 09:38:39 +00:00
Roger A. Light
5aabc171b0 Merge branch 'mqtt5' into develop 2019-02-26 18:51:31 +00:00
Roger A. Light
e862a047a8 Rework TLS engine support. 2019-02-26 17:11:29 +00:00
Nicolás Pernas Maradei
20894fcbce Add engine private key password support
Some OpenSSL engines (selectable via tls_engine option) may require a
password to make use of private keys created with them in the first place.

The TPM engine for example, will require a password to access the underlying
TPM's Storage Root Key (SRK), which is the root key of a hierarchy of keys
associated with a TPM; it is generated within a TPM and is a non-migratable
key. Each owned TPM contains a SRK, generated by the TPM at the request
of the Owner. [1]

By default, the engine will prompt the user to introduce the SRK password
before any private keys created with the engine can be used. This could
be inconvenient when running on an unattended system.

Here's where the new tls_engine_kpass_sha option comes in handy. The user
can specify a SHA1 hash of its engine private key password via command
line or config file and it will be passed on to the engine directly.

This commit adds support for both clients (libmosquitto) and broker.

[1] https://goo.gl/qQoXBY

Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:50:37 +00:00
Nicolás Pernas Maradei
d5f039ec7c Add TLS engine and keyform support to mosquitto
Add same OpenSSL engine support to mosquitto (server side) previously added to
client side only.

Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:50:37 +00:00
Nicolás Pernas Maradei
f88cc06435 Add TLS engine and keyform support to libmosquitto
- Clients can now offload crypto tasks to an external crypto device through
  the OpenSSL ENGINE API.
- The keyfiles can now be treated as PEM or ENGINE keys.
- Two new functions were added to libmosquitto to set up the previously
  mentioned features.
- Both mosquitto_sub and mosquitto_pub include support to turn on the mentioned
  features through command line options.

Signed-off-by: Nicolás Pernas Maradei <nicopernas@gmail.com>
2019-02-26 15:48:00 +00:00
Roger A. Light
1d17ced449 Broker configurable max_packet_size
Plus tests.
2019-02-19 15:57:20 +00:00
Roger A. Light
8350956a08 Make include_dir sort usefully case sensitive. 2019-02-13 22:55:15 +00:00
Roger A. Light
1a6c3f0c86 Improve documentation around the include_dir option.
Closes #1154. Thanks to Guzoft.
2019-02-13 10:08:44 +00:00
Roger A. Light
084062c85e Merge branch 'fixes' into mqtt5 2019-02-12 17:05:42 +00:00
Roger A. Light
f952ae3a67 Fixed durable clients being unable to receive messages when offline.
This occurred when per_listener_settings was set to true.

Closes #1081. Thanks to dwin-wangjt.
2019-02-08 13:01:07 +00:00
Roger A. Light
ce1d0ae364 Man page can now be built on any system.
Closes #1139. Huge thanks to Chris Mayo.
2019-02-08 13:01:07 +00:00
Roger A. Light
9df6da16ec Improve documentation of use_identity_as_username.
Closes #1134. Thanks to Adrian P.
2019-02-08 13:01:07 +00:00
Roger Light
c40957a7d8 Fix and tests for CVE-2018-12546. 2019-02-08 13:01:07 +00:00
Roger A. Light
760b2f125c Make table more consistent with preceding documentation. 2019-02-08 13:01:07 +00:00
Roger A. Light
495e9647c2 Improve bridge remapping documentation. 2019-02-08 13:01:07 +00:00
Roger A. Light
4a2e569171 -V now accepts 5, 311, 31, as well as mqttv5` etc. 2019-01-09 18:06:20 +00:00
Roger A. Light
326292681a Add maximum-qos support to broker and client.
This comes in the form of:

* Per listener maximum_qos option, which can be in the range 0-2.
* Changes to mosquitto_publish*() to return MOSQ_ERR_QOS_NOT_SUPPORTED
  if attempting to publish with a higher QoS than supported.
* Bridges will downgrade messages to match the maximum QoS.

More tests on the broker side (specifically bridges) are required. This
needs bridge support for MQTT 5 first.
2019-01-09 18:03:01 +00:00
Roger A. Light
fcf4cd0b27 Merge branch 'master' into mqtt5 2018-12-19 14:11:11 +00:00
Roger A. Light
db7901884f Retain-as-published support. 2018-12-14 13:36:02 +00:00
Roger A. Light
6ef2c79e9a Add max_keepalive, for limiting keepalives of MQTT v5 clients. 2018-12-06 08:49:02 +00:00
Roger A. Light
48c2217015 auto_id_prefix now defaults to 'auto-'. 2018-12-05 17:17:35 +00:00
Roger A. Light
d29dac087d Add socket_domain option. 2018-12-04 11:48:29 +00:00
Roger Light
9560c5bac7 Add retain_available support. 2018-11-22 18:21:40 +00:00
Roger A. Light
55b46037da Change -y to -D in clients. 2018-11-01 14:22:00 +00:00
Roger A. Light
12cba75c73 Client support for adding properties. 2018-10-31 12:38:39 +00:00
Roger Light
6c9e8d51c2 Merge branch 'develop' into mqtt5 2018-10-02 11:28:03 +01:00
Roger A. Light
1867f30785 Merge branch 'master'
Conflicts:
	ChangeLog.txt
2018-10-02 08:31:54 +01:00
Roger A. Light
0e76bed50e Add -E option to mosquitto_sub.
This causes the client to exit immediately after its subscriptions are
acknowledged by the broker, and can be used to create a durable client
session without requiring messages to be delivered.

Closes #952.
2018-09-27 22:21:42 +01:00
Roger A. Light
d9fc9cd0ae Add allow_zero_length_clientid, auto_id_prefix documentation.
Closes #600.
2018-09-25 14:38:54 +01:00
Roger A. Light
008d424a33 Minor documentation fix. Closes #520. 2018-09-25 14:25:54 +01:00
Roger A. Light
8aef00d3df Add website. 2018-09-20 09:34:16 +01:00
Roger A. Light
dea03071d4 Add link to tls asciicast.
Closes #968.
2018-09-19 12:27:53 +01:00
Roger A. Light
33a523eea9 Add identifiers for v5.
Clients know about v5, just need library support...
2018-09-19 10:59:41 +01:00
Roger A. Light
b07e0c08bf Fix IPv6 addresses not being able to be used as bridge addresses.
Closes #886.

Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 13:01:02 +01:00
Roger A. Light
5e60136449 Merge branch 'develop' 2018-05-03 07:55:45 +01:00
Roger A. Light
a50d7c7f04 pub/sub typo. 2018-04-12 17:46:40 +01:00
Roger A. Light
9476d8abcb Document mosquitto_sub timeout. 2018-04-12 00:31:10 +01:00
Roger A. Light
ba3b41ef60 Make it much clearer how to enable TLS mode for clients.
Closes #776.
2018-04-11 09:58:57 +01:00
Roger A. Light
8676cc0359 Replace mentions of deprecated 'c_rehash' with 'openssl rehash'. 2018-04-07 11:26:43 +01:00
Roger A. Light
26bc3206cd Per listener allow_zero_length_clientid. 2018-03-18 21:23:50 +00:00
Roger A. Light
7271893966 Per listener auto_id_prefix. 2018-03-18 21:08:39 +00:00
Roger A. Light
b2e1592376 Per listener allow_anonymous. 2018-03-15 14:29:07 +00:00
Roger A. Light
d55da837aa Add %X for upper case hex printing. 2018-03-15 11:27:17 +00:00
Roger A. Light
bc13eab9d6 Add per_listener_settings, which isn't used yet. 2018-03-13 17:52:03 +00:00
Roger A. Light
80f567975c Merge branch 'fixes' 2018-02-28 11:15:43 +00:00
Roger A. Light
ec63d7bfc7 Add set_tcp_nodelay option to disable Nagle's algorithm.
Bug: https://github.com/eclipse/mosquitto/issues/433
2018-02-14 23:51:16 +00:00
Roger A. Light
81cb7ab547 Merge branch 'fixes' into develop 2018-02-13 14:16:47 +00:00
Roger A. Light
2283585e39 Remove build timestamp information for reproducible builds. 2018-01-12 13:41:09 +00:00
Roger A. Light
8025f5a29b Fix ansi function declarations in html output. 2018-01-03 20:36:31 +00:00
Pierre Fersing
60cb8bedb0 Fix <option> closing too early in man page
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-12-29 13:57:10 +01:00
Pierre Fersing
94ae095895 Update man page for "remote_clientid"
Fix occurent of old "clientid" option which was renamed in
"remote_clientid".

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-12-29 13:54:08 +01:00
Pierre Fersing
71a748e1c4 Remove duplicated bridge_attempt_unsubscribe option
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-12-29 13:50:09 +01:00
Michael Heimpold
48dec391f7 Quote ${DESTDIR} usage in various Makefiles
This prevents failures during make install when whitespace
is part of DESTDIR pathname.

Signed-off-by: Michael Heimpold <michael.heimpold@i2se.com>
2017-12-01 22:28:26 +00:00
Roger A. Light
a0c86aa31a Fix man page typo. 2017-07-19 14:47:26 +01:00
Roger A. Light
5a267368d7 Merge branch 'master' into develop 2017-07-19 00:15:42 +01:00
Srikanth Anantharam
88f72f3f14 fixed a typo in the manpage (#476)
Signed-off-by: Srikanth Anantharam <sria91@gmail.com>
2017-07-19 00:05:48 +01:00
Srikanth Anantharam
58757639d2 added missing information to the mosquitto-tls manpage (#479)
Signed-off-by: Srikanth Anantharam <sria91@gmail.com>
2017-07-19 00:05:08 +01:00
Roger A. Light
ef7a7850ac Add -c to mosquitto_pub. 2017-07-17 20:43:06 +01:00
Roger A. Light
e74203de2c Merge branch 'master' into develop 2017-07-16 22:52:01 +01:00
Roger A. Light
d72ec39d79 Don't clean man pages with 'clean' target. 2017-07-10 23:45:13 +01:00
Dr. Lars Voelker
74adb43cc1 Adding OCSP Stapling support to mosquitto
Adding OCSP Stapling support to mosquitto, so that the TLS client side
requests the certificate status and checks it.
This code uses the OpenSSL-based OCSP implementation and is somewhat
based on the libcurl code for OCSP stapling.

Signed-off-by: Dr. Lars Voelker <lars.voelker@bmw.de>
2017-07-07 13:05:17 +02:00
Roger A. Light
c3823c0a81 [462] Add auth_plugin_deny_special_chars option.
Auth plugins can be configured to disable the check for +# in
usernames/client ids with the auth_plugin_deny_special_chars option.

Thanks to wiebeytec.

Bug: https://github.com/eclipse/mosquitto/issues/462
2017-06-27 14:59:37 +01:00
Roger A. Light
fe8fef27ee Make bug urls clickable. 2017-05-31 23:31:55 +01:00