Commit graph

109 commits

Author SHA1 Message Date
Roger A. Light
bf1d39746a dynsec: admin should have sys-observe role 2022-03-17 11:53:41 +00:00
Roger A. Light
3122d3e2c5 Simplify some dynsec config functions. 2022-03-13 22:22:19 +00:00
Roger A. Light
5279a424b1 Dynsec: Kick clients in tick event rather than immediately
This means that PUBACK/PUBREC should be sent to clients that modify
their own roles.

Closes #2474. Thanks to Stefano Berlato.
2022-03-12 23:16:57 +00:00
Roger A. Light
0deaae286e NULL after freeing. 2022-03-09 01:33:23 +00:00
Roger A. Light
051fbadb99 Move some CONTROL code to plugin common. 2022-03-08 21:28:22 +00:00
Roger A. Light
14d1c32f9d Update changelog. Style, whitespace and, linker fixes. 2022-02-24 15:52:06 +00:00
Norbert Heusser
e7e8b6e832 * Added list of connections to dynsec/getClient response
* Added new helper function mosquitto_apply_on_all_clients to broker
* Refactoring in dynamic-security plugin

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
2022-02-21 16:27:26 +00:00
Roger A. Light
a0f58f20c3 Update threaded builds.
Most specifically use -pthread instead of -lpthread.
2022-02-09 22:19:35 +00:00
Roger A. Light
ffb7661d86 Move shared code to common directory
This is currently limited to "utility" type functions and does not include code common to the library and broker that are protocol related.
2022-02-09 16:26:10 +00:00
Roger A. Light
5a3b42d4a4 Use path vars in Makefiles. 2022-02-09 14:44:09 +00:00
Roger A. Light
8d073771c3 Make some plugin code shared for future use. 2022-02-03 23:08:28 +00:00
Roger A. Light
d032c94d14 Remove global vars. 2022-02-03 21:50:20 +00:00
Roger A. Light
4adce6d0da Add anonymous group when generating dynsec config. 2022-02-02 22:02:11 +00:00
Roger A. Light
11c5cf039f Simplify memory use for dynsec. 2022-01-27 16:09:09 +00:00
Roger A. Light
cd28187e5e Minor refactor to separate files. 2021-12-15 16:36:54 +00:00
Roger A. Light
17fd1929eb Move config load/save to own file. 2021-12-13 09:14:05 +00:00
Roger A. Light
2501a64035 Merge branch 'master' into develop 2021-11-23 12:53:50 +00:00
Roger A. Light
34b41a3b01 Dynsec: Add ability to deny wildcard subscriptions for a role 2021-11-10 11:20:25 +00:00
Konstantin Podsvirov
c4d51f0835 Fix DESTINATION for mosquitto_dynamic_security MODULE
On Windows MODULE will be installed as LIBRARY component
to `lib` folder that is not prefer for dynamic loaded modules
but can be found in RUNTIME DESTINATION (`bin` folder) too.

Signed-off-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2021-11-06 17:11:09 +03:00
Roger Light
cd07f1136b Bump copyrights. 2021-11-03 22:10:06 +00:00
Roger A. Light
8ac11929cc Merge branch 'master' into develop 2021-10-27 17:19:33 +01:00
Roger A. Light
799cdead15 Experimental custom websockets support. 2021-10-06 15:32:45 +01:00
Roger A. Light
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +01:00
Roger A. Light
55d5d2e5f2 Fix for building when uthash not available. 2021-09-30 21:37:11 +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 Light
dbd0d6f0d8 CMake build fixes. 2021-09-28 11:48:03 +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 Light
c01ae67af7 Fix openssl not being linked to dynamic security plugin.
Closes #2277. Thanks to LeSuisse.
2021-08-21 09:45:26 +01:00
Roger A. Light
c862ffec8b Allow mosquitto_ctrl dynsec module to update passwords in files 2021-08-18 16:14:27 +01:00
Roger Light
42b45e0c89 Build fixes. 2021-08-18 12:39:02 +01:00
Roger A. Light
14993528ab Dynsec will generate a config file if it is not found. 2021-07-29 17:47:59 +01:00
Roger A. Light
182384440b Password salts are now 64 bytes long. 2021-07-28 12:01:47 +01:00
Roger A. Light
192a092d50 Add support for pattern ACLs to dynsec un/subscription ACLs. 2021-07-08 21:55:39 +01:00
Roger A. Light
e0309acebc Add mosquitto_sub_matches_acl()
This moves the sub matching sub code from the dynsec plugin to the library and broker, and removes all of the malloc calls at the same time.
2021-06-10 22:19:39 +01:00
Roger A. Light
0cd2619401 Add %c and %u support to dynsec publish ACLs. 2021-06-10 22:19:33 +01:00
Roger A. Light
214feb8f6b Merge branch 'fixes' into develop 2021-05-21 15:42:26 +01:00
Roger Light
0a90e62f93 CMake tidy. 2021-05-10 00:39:46 +01:00
Roger Light
e1c8f09372 Remove C++ style comments. 2021-04-25 22:26:12 +01:00
Martin Hauke
e21eaeca37 CMake: Fix undefined symbols in plugins 2021-04-06 21:15:08 +02:00
Roger Light
a5d9986cbd More compiler warning fixes. 2021-03-21 22:50:48 +00:00
Roger A. Light
a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
2021-01-20 11:46:18 +00:00
Roger A. Light
5927778ae5 Improve logging in dynsec addGroupClient command.
Closes #2008. Thanks to Willem Eradus.
2021-01-11 13:28:20 +00:00
Roger Light
c4f4fae5a0 dynsec: Improve logging in addGroupRole.
Close #2005. Thanks to Willem Eradus.
2021-01-10 23:04:01 +00:00
Roger A. Light
370cec5edd Fixes for lots of minor build warnings highlighted by Visual Studio. 2021-01-09 21:06:08 +00:00
Roger Light
7e1a818c54 Fix invalid behaviour in dynsec plugin.
This occurred if a group or client was deleted before a role that was
attached to the group or client is deleted.

Closes #1998. Thanks to Willem Eradus.
2021-01-08 00:01:10 +00:00
Roger A. Light
7fc472232c Merge branch 'fixes' 2020-12-22 16:56:29 +00:00
Roger A. Light
b8962cc040 Add more log messages for dynsec load/save error conditions. 2020-12-22 10:00:23 +00:00