From 5927778ae5b1f85349fa63e5656aaf33944d27b2 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Mon, 11 Jan 2021 13:28:20 +0000 Subject: [PATCH] Improve logging in dynsec addGroupClient command. Closes #2008. Thanks to Willem Eradus. --- ChangeLog.txt | 1 + plugins/dynamic-security/groups.c | 4 +++- www/posts/2021/01/version-2-0-5-released.md | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 8e7f05d5..4e8bde1f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -16,6 +16,7 @@ Broker: before a role that was attached to the group or client is deleted. Closes #1998. - Improve logging in dynsec addGroupRole command. Closes #2005. +- Improve logging in dynsec addGroupClient command. Closes #2008. Client library: - Improve documentation around the `_v5()` and non-v5 functions, e.g. diff --git a/plugins/dynamic-security/groups.c b/plugins/dynamic-security/groups.c index a6ede436..d66e4dba 100644 --- a/plugins/dynamic-security/groups.c +++ b/plugins/dynamic-security/groups.c @@ -507,7 +507,7 @@ int dynsec_groups__add_client(const char *username, const char *groupname, int p HASH_FIND(hh, group->clientlist, username, strlen(username), clientlist); if(clientlist != NULL){ /* Client is already in the group */ - return MOSQ_ERR_SUCCESS; + return MOSQ_ERR_ALREADY_EXISTS; } rc = dynsec_clientlist__add(&group->clientlist, client, priority); @@ -567,6 +567,8 @@ int dynsec_groups__process_add_client(cJSON *j_responses, struct mosquitto *cont dynsec__command_reply(j_responses, context, "addGroupClient", "Client not found", correlation_data); }else if(rc == ERR_GROUP_NOT_FOUND){ dynsec__command_reply(j_responses, context, "addGroupClient", "Group not found", correlation_data); + }else if(rc == MOSQ_ERR_ALREADY_EXISTS){ + dynsec__command_reply(j_responses, context, "addGroupClient", "Client is already in this group", correlation_data); }else{ dynsec__command_reply(j_responses, context, "addGroupClient", "Internal error", correlation_data); } diff --git a/www/posts/2021/01/version-2-0-5-released.md b/www/posts/2021/01/version-2-0-5-released.md index 23886ce2..3b148dd1 100644 --- a/www/posts/2021/01/version-2-0-5-released.md +++ b/www/posts/2021/01/version-2-0-5-released.md @@ -26,6 +26,7 @@ Version 2.0.5 of Mosquitto has been released. This is a bugfix release. before a role that was attached to the group or client is deleted. Closes [#1998]. - Improve logging in dynsec addGroupRole command. Closes [#2005]. +- Improve logging in dynsec addGroupClient command. Closes [#2008]. # Client library - Improve documentation around the `_v5()` and non-v5 functions, e.g. @@ -52,3 +53,4 @@ Version 2.0.5 of Mosquitto has been released. This is a bugfix release. [#1998]: https://github.com/eclipse/mosquitto/issues/1998 [#1999]: https://github.com/eclipse/mosquitto/issues/1999 [#2005]: https://github.com/eclipse/mosquitto/issues/2005 +[#2008]: https://github.com/eclipse/mosquitto/issues/2008