Commit Graph

56 Commits (ed8211858e27e3ae30a52ccd86eee8c545d9ad21)

Author SHA1 Message Date
Roger A. Light 4199e7b2d3 Move control functions to common, and use in the broker. 3 years ago
Roger A. Light 611c43e537 Dynsec: Save file at end of command batch, not after each command 3 years ago
Roger A. Light 54365ec53b Dynsec: Fix improbably out of memory case 3 years ago
Roger A. Light 1d230bd255 dynsec: Fix listClients/getClient crashing if an anon user present
This only affects the unreleased `develop` branch.
3 years ago
Roger A. Light fd68bf00c7 Merge branch 'master' into develop 3 years ago
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.
3 years ago
Roger A. Light 7794001ce2 Don't free arrays. 3 years ago
Roger A. Light 832e51cb57 dynsec: reduce memory allocations 3 years ago
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.
4 years ago
Roger A. Light 14d1c32f9d Update changelog. Style, whitespace and, linker fixes. 4 years ago
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>
4 years ago
Roger A. Light 8d073771c3 Make some plugin code shared for future use. 4 years ago
Roger A. Light d032c94d14 Remove global vars. 4 years ago
Roger A. Light 11c5cf039f Simplify memory use for dynsec. 4 years ago
Roger Light cd07f1136b Bump copyrights. 4 years ago
Roger A. Light 8ac11929cc Merge branch 'master' into develop 4 years ago
Roger A. Light a1a190b482 Pointless whitespace tidy. 4 years ago
Roger A. Light 14993528ab Dynsec will generate a config file if it is not found. 4 years ago
Roger A. Light 182384440b Password salts are now 64 bytes long. 4 years ago
Roger Light e1c8f09372 Remove C++ style comments. 4 years ago
Roger A. Light a4389fc9ce Fix SPDX identifiers: EDL-1.0 -> BSD-3-Clause.
The two licenses are the same.
5 years ago
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.
5 years ago
Roger A. Light 791c63372b Fix cjson include paths. 5 years ago
Roger A. Light 3731535298 Add SPDX license identifiers. 5 years ago
Roger A. Light 692fa5537d dynsec: Reply with error on add role fail. 5 years ago
Roger A. Light 0605fd402a dynsec: Command logging. 5 years ago
Roger A. Light 423e1a00d2 dynsec: Tests for group commands with invalid params, plus fixes. 5 years ago
Roger A. Light 6739152fda dynsec: Various minor fixes. 5 years ago
Roger A. Light 598b1d7b00 dynsec: Fix free on modifyClient. 5 years ago
Roger A. Light ba8e888e41 dynsec: Refactor some cJSON adding code to reduce redundancy 5 years ago
Roger A. Light d8775b7d9c dynsec: Consistent behaviour when setting clientid. 5 years ago
Roger A. Light c3daa247c2 dynsec: Cover setClientId in 14-dynsec-auth test. 5 years ago
Roger A. Light 584cf51ba7 Update to EPL-2.0 5 years ago
Roger A. Light 5db971a0e9 dynsec: Client id is optional in setClientID. 5 years ago
Roger A. Light d1bf2c0d13 dynsec: Fix missing correlationData for getDefaultACLAccess. 5 years ago
Roger A. Light 4150b2f233 dynsec: Ignore empty passwords on setClientPassword/modifyClient. 5 years ago
Roger A. Light e94cf19989 dynsec: Ignore zero length clientid. 5 years ago
Roger A. Light 4f9fe4df4d dynsec: Rolelist as own file for consistency. 5 years ago
Roger A. Light fe436cda95 dynsec: Fix potential grouplist leaks. 5 years ago
Roger A. Light 20bf6e706e dynsec: Fix role clientlists not being freed. 5 years ago
Roger A. Light 67fbe5cc7e dynsec: Fix some keys being accessed even if they don't exist. 5 years ago
Roger A. Light 63277aad0b dynsec: setClientId should cope with missing/empty client id. 5 years ago
Roger A. Light eac0c3bac0 dynsec: modifyClient can now change clientid and password. 5 years ago
Roger A. Light dbcf945518 dynsec: Kick clients after password changes. 5 years ago
Roger A. Light b06c5cd88f dynsec: Add setClientId command. 5 years ago
Roger A. Light c5fe1fc36b Dynsec: Fix loading of clients with no password. 5 years ago
Roger A. Light 801e31efda Dynsec: Validate user/group/role names as UTF-8. 5 years ago
Roger A. Light 3486f0e546 Dynsec: Kick affected clients on role change. 5 years ago
Roger A. Light bb840ed55b Conversion fixes. 5 years ago
Roger A. Light 866c395dcc Dynsec: Add "disabled" property for getClient/listClients. 5 years ago