Commit graph

68 commits

Author SHA1 Message Date
Roger A. Light
3199768aef Dynsec: Max priority of 100,000 2024-02-11 23:40:41 +00:00
Roger A. Light
d17a88d916 Refactor headers for easier discovery. 2023-12-23 12:59:58 +00:00
Roger A. Light
837c272c29 Add argon2 password hash support 2023-11-20 22:58:42 +00:00
Roger A. Light
b6710f9364 Refactor password code 2023-11-20 22:58:42 +00:00
Roger A. Light
fe4fe0102f Place client context in mosquitto_control_cmd for API simplicity 2023-10-11 15:12:49 +01:00
Roger A. Light
e656e694ed Merge branch 'master' into develop 2023-09-09 15:20:40 +01:00
Roger A. Light
b76c3c7820 Dynsec: Don't allow duplicate c/g/r when loading config 2023-08-16 14:01:21 +01:00
Roger A. Light
8bc047511a Fix any possible case where a json string might be incorrectly loaded. 2023-08-16 14:01:21 +01:00
Roger A. Light
f317a0fdfe Fix incorrect free 2023-04-23 20:14:03 +01:00
Roger A. Light
747fcacd67 Make args const where possible, fix persist-sqlite build. 2023-04-19 22:54:53 +01:00
Roger A. Light
56462c1229 Refactor for more consistent json helper use. 2023-04-19 17:12:20 +01:00
Roger A. Light
2940d9cc4c Move control common helper functions to broker. 2023-04-02 00:27:15 +01:00
Roger A. Light
4199e7b2d3 Move control functions to common, and use in the broker. 2022-12-31 14:34:26 +00:00
Roger A. Light
611c43e537 Dynsec: Save file at end of command batch, not after each command 2022-12-27 08:16:41 +00:00
Roger A. Light
54365ec53b Dynsec: Fix improbably out of memory case 2022-11-16 20:09:03 +00:00
Roger A. Light
1d230bd255 dynsec: Fix listClients/getClient crashing if an anon user present
This only affects the unreleased `develop` branch.
2022-08-22 10:50:10 +01:00
Roger A. Light
fd68bf00c7 Merge branch 'master' into develop 2022-08-17 16:18:24 +01:00
Roger A. Light
436f0b9348 dynsec: Fix modifyClient and modifyGroup commands
They will now not modify the client/group if a new group/client being
added is not valid, or on other failures.

Closes #2598. Thanks to Sebastian Szczepański.
2022-08-16 00:48:02 +01:00
Roger A. Light
7794001ce2 Don't free arrays. 2022-08-07 08:24:34 +01:00
Roger A. Light
832e51cb57 dynsec: reduce memory allocations 2022-08-05 13:08:55 +01: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
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
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
11c5cf039f Simplify memory use for dynsec. 2022-01-27 16:09:09 +00: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
a1a190b482 Pointless whitespace tidy. 2021-10-05 15:20:37 +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 Light
e1c8f09372 Remove C++ style comments. 2021-04-25 22:26:12 +01: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 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
791c63372b Fix cjson include paths. 2020-12-04 22:15:19 +00:00
Roger A. Light
3731535298 Add SPDX license identifiers. 2020-12-01 20:46:56 +00:00
Roger A. Light
692fa5537d dynsec: Reply with error on add role fail. 2020-11-30 10:32:09 +00:00
Roger A. Light
0605fd402a dynsec: Command logging. 2020-11-30 10:10:12 +00:00
Roger A. Light
423e1a00d2 dynsec: Tests for group commands with invalid params, plus fixes. 2020-11-28 00:01:58 +00:00
Roger A. Light
6739152fda dynsec: Various minor fixes. 2020-11-27 14:34:46 +00:00
Roger A. Light
598b1d7b00 dynsec: Fix free on modifyClient. 2020-11-26 15:11:20 +00:00
Roger A. Light
ba8e888e41 dynsec: Refactor some cJSON adding code to reduce redundancy 2020-11-26 14:49:28 +00:00
Roger A. Light
d8775b7d9c dynsec: Consistent behaviour when setting clientid. 2020-11-26 12:18:57 +00:00
Roger A. Light
c3daa247c2 dynsec: Cover setClientId in 14-dynsec-auth test. 2020-11-26 00:13:40 +00:00
Roger A. Light
584cf51ba7 Update to EPL-2.0 2020-11-25 17:34:21 +00:00
Roger A. Light
5db971a0e9 dynsec: Client id is optional in setClientID. 2020-11-24 12:04:47 +00:00
Roger A. Light
d1bf2c0d13 dynsec: Fix missing correlationData for getDefaultACLAccess. 2020-11-23 14:06:19 +00:00
Roger A. Light
4150b2f233 dynsec: Ignore empty passwords on setClientPassword/modifyClient. 2020-11-19 12:03:51 +00:00
Roger A. Light
e94cf19989 dynsec: Ignore zero length clientid. 2020-11-18 13:08:09 +00:00
Roger A. Light
4f9fe4df4d dynsec: Rolelist as own file for consistency. 2020-11-18 11:54:13 +00:00