Roger A. Light
d7d3087b04
Breaking: Bind to loopback if no listeners are configured.
2020-09-17 11:10:40 +01:00
Roger A. Light
bab8cc2a6b
mosquitto_sub now supports extra format specifiers.
...
These are for field width and precision for some parameters.
2020-08-28 22:23:22 +01:00
Roger A. Light
938e17a3d0
Fix incorrect authentication-method property type in mosquitto_sub man.
...
Closes #1801 . Thanks to roebotron.
2020-08-24 09:59:36 +01:00
Brandt Hill
16eecfcbc5
Add 'deny' as an option for topics/patterns in acl file to allow certain topics to be explicitly denied when they might otherwise be allowed through a more open read/write/readwrite option. Example: 'topic readwrite test/#' and 'topic deny test/hello/#' may be added so that a user can read/write to all test/# topics, except for test/hello/#.
...
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Change variable name for clarity. Remember to initialize bool (I'm bad at C).
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add documentation to config man page
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add test case for deny option
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
Add deny acls to top of the list to preserve early exit
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
change comments
Signed-off-by: Brandt Hill <brandtlarsonhill@gmail.com>
2020-08-17 00:13:10 -05:00
Roger A. Light
9929ce0a26
All clients exit with an error exit code on CONNACK failure.
...
Closes #1778 . Thanks to jflambert.
2020-08-12 09:44:42 +01:00
Roger A. Light
873e580a00
Spelling/grammar fixes.
2020-07-14 16:44:33 +01:00
Roger A. Light
2e32634a95
DLT logging is now configurable at runtime with log_dest dlt
.
...
Closes #1735 . Thanks to Brian Orpin.
2020-06-30 00:51:57 +01:00
Roger A. Light
b726e2f1ec
mosquitto_sub %j and %J timestamps are now in a ISO 8601 compatible format.
2020-05-06 22:21:21 +01:00
Roger A. Light
3e9eae401e
Missing / in bridge remapping doc.
2020-03-31 10:13:20 +01:00
Karl Palsson
07d73c7e3a
bridge: support bridge local clean session
...
This adds the ability to separating bridge clean session settings between
the local and remote endpoints. Some broker implmentations refuse to allow
non-clean sessions, as they don't support storing messages to be sent to
the connecting broker. However, this doesn't mean that the local
broker can't be queueing messages to send _out_ to the remote broker.
This PR adds a new bridge connection setting, local_cleansession, that
allows controlling this split. Naming is chosen to be local_ in keeping
with the other local_ settings for bridges.
A test for the six cases of queued/not queued messages in both
directions is added, but v5 testing is currently disabled. The changes
to support the split are ~independent of protocol version.
Signed-off-by: Karl Palsson <karlp@etactica.com>
2020-03-20 12:35:06 +00:00
Roger A. Light
0da723c1ec
Add --random-filter
to mosquitto_sub.
2020-03-03 14:12:30 +00:00
Roger A. Light
3671a6dfdb
Add -x
argument to all clients.
...
This allows the session-expiry-interval property to be easily set for
MQTT v5 clients.
2020-01-30 11:19:09 +00:00
Roger A. Light
d60e86d2a3
Add TCP_NODELAY support to lib and clients.
...
Closes #1526 . Thanks to Felix Moessbauer.
2019-12-18 17:04:43 +00:00
Roger A. Light
c0443637e8
Merge branch 'master'
...
Conflicts:
ChangeLog.txt
config.mk
src/context.c
src/loop.c
src/subs.c
test/broker/01-connect-bad-packet.py
test/broker/02-subpub-qos1-bad-pubcomp.py
test/broker/02-subpub-qos1-bad-pubrec.py
test/broker/02-subpub-qos2-bad-puback-1.py
test/broker/02-subpub-qos2-bad-puback-2.py
test/broker/02-subpub-qos2-bad-pubcomp.py
test/broker/02-subpub-qos2.py
test/broker/07-will-null-topic.py
2019-12-03 13:59:05 +00:00
Roger A. Light
91961d93c4
Merge branch 'master' of git://github.com/basavesh/mosquitto into basavesh-master
2019-11-21 14:22:19 +00:00
Roger A. Light
3d92dcbbd9
Make documentation for mosquitto_pub -l
match reality
...
Blank lines are sent as empty messages.
Closes #1474 . Thanks to majekw.
2019-11-07 20:49:59 +00:00
Roger A. Light
2af260ba58
Add bridge_outgoing_retain
option
...
This allows outgoing messages from a bridge to have the retain bit
completely disabled, which is useful when bridging to e.g. Amazon or
Google.
2019-11-07 11:59:29 +00:00
Roger A. Light
d49988fa6f
Rejig unix socket support.
2019-10-30 21:48:53 +00:00
Roger Light
1c6666b63a
Add user-property output support to sub/rr.
2019-10-15 15:54:46 +01:00
Roger A. Light
59c0bfe6e1
Add support for v5 property printing to mosquitto_sub/rr in non-JSON mode.
2019-10-15 15:23:29 +01:00
Roger A. Light
9e4226622f
Add --pretty
option to mosquitto_sub/rr
...
If active, this produces formatted JSON output rather than the normal
minimised output.
2019-10-15 14:44:25 +01:00
Roger A. Light
ad5c2e11d9
Use cJSON for producing JSON output in clients.
...
Closes #1222 . Thanks to Ben Barbour.
2019-10-15 11:59:22 +01:00
Roger A. Light
27e81e9e13
Point libmosquitto documentation at the API pages.
2019-10-09 14:11:39 +01:00
Roger A. Light
b660283e64
Basic MQTT v5 support for bridges.
...
This gives equivalent behaviour as for v3.1.1/v3.1 bridges, there is no extra functionality yet.
2019-10-09 10:54:44 +01:00
Roger A. Light
499e2f2e98
Add support for unix sockets to broker, lib, and clients.
2019-10-08 20:55:31 +01:00
Roger A. Light
54ed3c0fc9
Merge branch 'master' into develop
2019-09-25 19:09:10 +01:00
Roger A. Light
da5ff1746c
Don't use /
in auto client ids.
...
Also update client documentation about automatic client ids.
2019-09-24 10:05:42 +01:00
Roger A. Light
01530a3f07
Improve message_size_limit and various max_* option docs.
...
Closes #448 .
2019-09-04 17:11:13 +01:00
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