From 9f8e2a1d0a65513e801da5546f230e36bf27080d Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Wed, 1 Aug 2018 15:52:42 +0100 Subject: [PATCH] [Broker] Fix auth plugin cleanup function not being called. Closes #900. Thanks to Julian Zhao. Signed-off-by: Roger A. Light --- ChangeLog.txt | 8 ++++++++ src/security.c | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/ChangeLog.txt b/ChangeLog.txt index ac9420e9..d2edcc73 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,11 @@ +1.5.1 - 2018xxxx +================ + +Broker: +- Fix plugin cleanup function not being called on exit of the broker. + Closes #900. + + 1.5 - 20180502 ============== diff --git a/src/security.c b/src/security.c index e95cb8a1..292334d1 100644 --- a/src/security.c +++ b/src/security.c @@ -282,6 +282,20 @@ static void security__module_cleanup_single(struct mosquitto__security_options * int i; for(i=0; iauth_plugin_config_count; i++){ + /* Run plugin cleanup function */ + if(opts->auth_plugin_configs[i].plugin.version == 3){ + opts->auth_plugin_configs[i].plugin.plugin_cleanup_v3( + opts->auth_plugin_configs[i].plugin.user_data, + opts->auth_plugin_configs[i].options, + opts->auth_plugin_configs[i].option_count); + + }else if(opts->auth_plugin_configs[i].plugin.version == 2){ + opts->auth_plugin_configs[i].plugin.plugin_cleanup_v2( + opts->auth_plugin_configs[i].plugin.user_data, + (struct mosquitto_auth_opt *)opts->auth_plugin_configs[i].options, + opts->auth_plugin_configs[i].option_count); + } + if(opts->auth_plugin_configs[i].plugin.lib){ LIB_CLOSE(opts->auth_plugin_configs[i].plugin.lib); }