Commit graph

2895 commits

Author SHA1 Message Date
Roger A. Light
799cdead15 Experimental custom websockets support. 2021-10-06 15:32:45 +01:00
Roger A. Light
56e5c52abe Fix test. 2021-10-01 16:34:17 +01:00
Roger A. Light
a199878fb3 Split plugin code to separate files. 2021-10-01 16:34:11 +01:00
Roger A. Light
06dc2f41f8 Don't include external files in coverage results. 2021-10-01 16:29:14 +01:00
Roger A. Light
e01542b6cf Fix test. 2021-10-01 16:10:59 +01:00
Roger A. Light
20bcf6a7a8 Fix some cases of plugins not handling v5 plugins. 2021-10-01 15:59:29 +01:00
Roger A. Light
0992bafcc8 Add MOSQ_ERR_PLUGIN_IGNORE. 2021-10-01 14:33:11 +01:00
Roger A. Light
a914580205 Remove obselete examples. 2021-10-01 14:33:11 +01:00
Roger A. Light
64915fbaea Fix bridge restart timeout. 2021-10-01 14:29:51 +01:00
Roger A. Light
193859243f Fix will delay idle behaviour. 2021-10-01 14:09:25 +01:00
Roger Light
55e123fec4 Fix incorrect free. 2021-09-30 22:46:06 +01:00
Roger A. Light
55d5d2e5f2 Fix for building when uthash not available. 2021-09-30 21:37:11 +01:00
Roger A. Light
7a86b1078a Fix security init order. 2021-09-30 17:09:12 +01:00
Roger A. Light
2bfc7e7cc8 Do plugin callback unregistering automatically. 2021-09-30 12:42:13 +01:00
Roger A. Light
6763d94962 Add plugin version helper. 2021-09-30 10:56:48 +01:00
Roger A. Light
0f9eb03b3c Don't trigger DISCONNECT events for clients that didn't complete connection. 2021-09-29 21:04:15 +01:00
Roger A. Light
88b4b43dee Fix type. 2021-09-29 16:08:53 +01:00
Roger A. Light
0f2f77c945 Improve idle / mux timeout performance. 2021-09-29 16:07:48 +01:00
Roger Light
88dfac8e88 Windows threading support for the library. 2021-09-29 13:48:58 +01:00
Roger Light
dbd0d6f0d8 CMake build fixes. 2021-09-28 11:48:03 +01:00
Roger Light
07f793a108 Fix protocol checks - bridge and CONNACK responses. 2021-09-27 22:18:59 +01:00
Roger A. Light
4f24ffef2f Add disable_client_cert_date_checks option. 2021-09-21 12:16:42 +01:00
Roger A. Light
ba936a869d Add accept_protocol_versions option. 2021-09-21 11:07:54 +01:00
Roger A. Light
f552ec48b1 Add global_max_connections option. 2021-09-17 16:06:02 +01:00
Roger A. Light
02685d49b6 Add global_max_clients option.
This allows limiting client sessions globally on the broker.
2021-09-17 16:01:37 +01:00
Roger A. Light
8acee6647c Add mosquitto_client_port() for plugins. 2021-09-15 15:18:41 +01:00
Roger A. Light
7697406d3a Add topic modification example plugin. 2021-09-15 10:56:08 +01:00
Roger A. Light
1c6d74f208 Fix test 2021-09-13 16:43:38 +01:00
Roger A. Light
64e3c78306 Add enable_control_api option. 2021-09-13 10:31:25 +01:00
Roger A. Light
a25fc166a8 Add $CONTROL/broker/v1 control & the getPluginInfo command. 2021-09-07 23:17:31 +01:00
Roger A. Light
3413001d47 Add mosquitto_plugin_set_info()
This allows plugins to tell the broker their name and version.
2021-09-07 23:13:06 +01:00
Roger A. Light
aa29b45e70 Merge branch 'master' into develop 2021-09-07 19:17:11 +01:00
Roger A. Light
9afeeb1a56 Docker apk upgrade no longer needed. 2021-09-02 09:34:18 +01:00
Roger A. Light
6d96f660bb Web page updates. 2021-09-01 15:02:04 +01:00
Roger A. Light
1638bd34f8 Update docker images
Use alpine:3.14, removing the need to compile cjson ourselves.
Update to libwebsockets 4.2.1.
Update to mosquitto 2.0.12.
2021-09-01 14:34:12 +01:00
Roger A. Light
76c9e44deb Test config and scripts for example plugins. 2021-09-01 09:31:17 +01:00
Roger A. Light
869016b831 Add print-ip-on-publish example plugin. 2021-09-01 09:27:14 +01:00
Roger A. Light
42acfdad41 Bump version, update web page. 2021-08-31 17:16:52 +01:00
Roger A. Light
c6859366c4 Merge branch 'fixes' 2021-08-31 16:44:24 +01:00
Roger A. Light
d09591d92e Fix reconnecting in some cases when using MOSQ_OPT_TLS_USE_OS_CERTS.
Fix reconnecting failing when MOSQ_OPT_TLS_USE_OS_CERTS was in use, but none
of capath, cafile, psk, nor MOSQ_OPT_SSL_CTX were set, and
MOSQ_OPT_SSL_CTX_WITH_DEFAULTS was set to the default value of true.

Closes #2288. Thanks to Poltorak Serguei.
2021-08-31 15:59:40 +01:00
Roger A. Light
e43d36020f Update plugin configuration documentation.
Closes #2286. Thanks to Karl Palsson.
2021-08-31 10:57:48 +01:00
Roger A. Light
605131502b Fix MOSQ_OPT_SSL_CTX not being able to be set to NULL.
Closes #2289. Thanks to Poltorak Serguei.
2021-08-31 10:45:10 +01:00
Roger A. Light
77af2ecefe Fix mosquitto_ctrl dynsec setDefaultACLAccess command not working. 2021-08-30 22:28:51 +01:00
Roger A. Light
06c84aeb66 CVE-2021-34434 details. 2021-08-30 22:06:32 +01:00
Roger A. Light
37b5aedcb6 Fix for #575314.
Incoming QoS 2 messages that had not completed the QoS flow were not being
checked for ACL access when a clean session=False client was reconnecting.

Closes #575314.
2021-08-30 16:14:27 +01:00
Roger A. Light
9d95cba95e Fix leak. 2021-08-30 14:11:23 +01:00
Roger A. Light
9d6a73f9f7 Fix CONNECT performance with many user-properties.
An MQTT v5 client connecting with a large number of user-property properties
could cause excessive CPU usage, leading to a loss of performance and
possible denial of service. This has been fixed.
2021-08-26 12:17:42 +01:00
Roger Light
32af599c81 Fix $share subscriptions not being recovered for durable clients.
If a plugin had granted ACL subscription access to a
durable/non-clean-session client, then removed that access, the client would
keep its existing subscription. This has been fixed.
2021-08-26 12:17:26 +01:00
Roger A. Light
376226c129 Build warning fixes. 2021-08-26 10:54:03 +01:00
Roger A. Light
756b3fcb08 Document TLS certificate behaviour when using -p 8883. 2021-08-24 23:15:06 +01:00