From 92c2c45d7c0dfab4422d9149e8143718101cefb1 Mon Sep 17 00:00:00 2001 From: Roger Light Date: Wed, 3 Nov 2021 21:27:25 +0000 Subject: [PATCH] Rename auth_plugin -> plugin. --- src/broker_control.c | 4 +- src/conf.c | 64 +++++----- src/mosquitto_broker_internal.h | 14 +-- src/plugin.c | 2 +- src/security.c | 208 ++++++++++++++++---------------- 5 files changed, 146 insertions(+), 146 deletions(-) diff --git a/src/broker_control.c b/src/broker_control.c index 49601f8c..a5b30572 100644 --- a/src/broker_control.c +++ b/src/broker_control.c @@ -148,8 +148,8 @@ static int broker__process_get_plugin_info(cJSON *j_responses, struct mosquitto goto internal_error; } - for(i=0; isecurity_options.auth_plugin_config_count; i++){ - if(add_plugin_info(j_plugins, db.config->security_options.auth_plugin_configs[i].plugin.identifier)){ + for(i=0; isecurity_options.plugin_config_count; i++){ + if(add_plugin_info(j_plugins, db.config->security_options.plugin_configs[i].plugin.identifier)){ goto internal_error; } } diff --git a/src/conf.c b/src/conf.c index ff35a53f..c2a59dab 100644 --- a/src/conf.c +++ b/src/conf.c @@ -222,11 +222,11 @@ static void config__init_reload(struct mosquitto__config *config) static void config__cleanup_plugins(struct mosquitto__config *config) { int i, j; - struct mosquitto__auth_plugin_config *plug; + struct mosquitto__plugin_config *plug; - if(config->security_options.auth_plugin_configs){ - for(i=0; isecurity_options.auth_plugin_config_count; i++){ - plug = &config->security_options.auth_plugin_configs[i]; + if(config->security_options.plugin_configs){ + for(i=0; isecurity_options.plugin_config_count; i++){ + plug = &config->security_options.plugin_configs[i]; mosquitto__free(plug->path); plug->path = NULL; @@ -240,8 +240,8 @@ static void config__cleanup_plugins(struct mosquitto__config *config) plug->option_count = 0; } } - mosquitto__free(config->security_options.auth_plugin_configs); - config->security_options.auth_plugin_configs = NULL; + mosquitto__free(config->security_options.plugin_configs); + config->security_options.plugin_configs = NULL; } } @@ -501,7 +501,7 @@ int config__parse_args(struct mosquitto__config *config, int argc, char *argv[]) || config->default_listener.socket_domain || config->default_listener.security_options.password_file || config->default_listener.security_options.psk_file - || config->default_listener.security_options.auth_plugin_config_count + || config->default_listener.security_options.plugin_config_count || config->default_listener.security_options.allow_zero_length_clientid != true ){ @@ -560,8 +560,8 @@ int config__parse_args(struct mosquitto__config *config, int argc, char *argv[]) config->listeners[config->listener_count-1].security_options.acl_file = config->default_listener.security_options.acl_file; config->listeners[config->listener_count-1].security_options.password_file = config->default_listener.security_options.password_file; config->listeners[config->listener_count-1].security_options.psk_file = config->default_listener.security_options.psk_file; - config->listeners[config->listener_count-1].security_options.auth_plugin_configs = config->default_listener.security_options.auth_plugin_configs; - config->listeners[config->listener_count-1].security_options.auth_plugin_config_count = config->default_listener.security_options.auth_plugin_config_count; + config->listeners[config->listener_count-1].security_options.plugin_configs = config->default_listener.security_options.plugin_configs; + config->listeners[config->listener_count-1].security_options.plugin_config_count = config->default_listener.security_options.plugin_config_count; config->listeners[config->listener_count-1].security_options.allow_anonymous = config->default_listener.security_options.allow_anonymous; config->listeners[config->listener_count-1].security_options.allow_zero_length_clientid = config->default_listener.security_options.allow_zero_length_clientid; } @@ -798,7 +798,7 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, char *tmp_char; struct mosquitto__bridge *cur_bridge = NULL; #endif - struct mosquitto__auth_plugin_config *cur_auth_plugin_config = NULL; + struct mosquitto__plugin_config *cur_plugin_config = NULL; time_t expiration_mult; char *key; @@ -931,8 +931,8 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, if(conf__parse_bool(&token, "allow_zero_length_clientid", &cur_security_options->allow_zero_length_clientid, &saveptr)) return MOSQ_ERR_INVAL; }else if(!strncmp(token, "auth_opt_", strlen("auth_opt_")) || !strncmp(token, "plugin_opt_", strlen("plugin_opt_"))){ if(reload) continue; /* Auth plugin not currently valid for reloading. */ - if(!cur_auth_plugin_config){ - log__printf(NULL, MOSQ_LOG_ERR, "Error: An auth_opt_ option exists in the config file without an auth_plugin."); + if(!cur_plugin_config){ + log__printf(NULL, MOSQ_LOG_ERR, "Error: A plugin_opt_ option exists in the config file without a plugin."); return MOSQ_ERR_INVAL; } if(!strncmp(token, "auth_opt_", strlen("auth_opt_"))){ @@ -942,7 +942,7 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, } if(strlen(token) < prefix_len + 3){ /* auth_opt_ == 9, + one digit key == 10, + one space == 11, + one value == 12 */ - log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid auth_opt_ config option."); + log__printf(NULL, MOSQ_LOG_ERR, "Error: Invalid plugin_opt_ config option."); return MOSQ_ERR_INVAL; } key = mosquitto__strdup(&token[prefix_len]); @@ -959,16 +959,16 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, token++; } if(token[0]){ - cur_auth_plugin_config->option_count++; - cur_auth_plugin_config->options = mosquitto__realloc(cur_auth_plugin_config->options, (size_t)cur_auth_plugin_config->option_count*sizeof(struct mosquitto_auth_opt)); - if(!cur_auth_plugin_config->options){ + cur_plugin_config->option_count++; + cur_plugin_config->options = mosquitto__realloc(cur_plugin_config->options, (size_t)cur_plugin_config->option_count*sizeof(struct mosquitto_auth_opt)); + if(!cur_plugin_config->options){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Out of memory."); mosquitto__free(key); return MOSQ_ERR_NOMEM; } - cur_auth_plugin_config->options[cur_auth_plugin_config->option_count-1].key = key; - cur_auth_plugin_config->options[cur_auth_plugin_config->option_count-1].value = mosquitto__strdup(token); - if(!cur_auth_plugin_config->options[cur_auth_plugin_config->option_count-1].value){ + cur_plugin_config->options[cur_plugin_config->option_count-1].key = key; + cur_plugin_config->options[cur_plugin_config->option_count-1].value = mosquitto__strdup(token); + if(!cur_plugin_config->options[cur_plugin_config->option_count-1].value){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Out of memory."); return MOSQ_ERR_NOMEM; } @@ -985,26 +985,26 @@ static int config__read_file_core(struct mosquitto__config *config, bool reload, conf__set_cur_security_options(config, cur_listener, &cur_security_options); } - cur_security_options->auth_plugin_configs = mosquitto__realloc(cur_security_options->auth_plugin_configs, (size_t)(cur_security_options->auth_plugin_config_count+1)*sizeof(struct mosquitto__auth_plugin_config)); - if(!cur_security_options->auth_plugin_configs){ + cur_security_options->plugin_configs = mosquitto__realloc(cur_security_options->plugin_configs, (size_t)(cur_security_options->plugin_config_count+1)*sizeof(struct mosquitto__plugin_config)); + if(!cur_security_options->plugin_configs){ log__printf(NULL, MOSQ_LOG_ERR, "Error: Out of memory."); return MOSQ_ERR_NOMEM; } - cur_auth_plugin_config = &cur_security_options->auth_plugin_configs[cur_security_options->auth_plugin_config_count]; - memset(cur_auth_plugin_config, 0, sizeof(struct mosquitto__auth_plugin_config)); - cur_auth_plugin_config->path = NULL; - cur_auth_plugin_config->options = NULL; - cur_auth_plugin_config->option_count = 0; - cur_auth_plugin_config->deny_special_chars = true; - cur_security_options->auth_plugin_config_count++; - if(conf__parse_string(&token, "auth_plugin", &cur_auth_plugin_config->path, &saveptr)) return MOSQ_ERR_INVAL; + cur_plugin_config = &cur_security_options->plugin_configs[cur_security_options->plugin_config_count]; + memset(cur_plugin_config, 0, sizeof(struct mosquitto__plugin_config)); + cur_plugin_config->path = NULL; + cur_plugin_config->options = NULL; + cur_plugin_config->option_count = 0; + cur_plugin_config->deny_special_chars = true; + cur_security_options->plugin_config_count++; + if(conf__parse_string(&token, "plugin", &cur_plugin_config->path, &saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "auth_plugin_deny_special_chars")){ if(reload) continue; /* Auth plugin not currently valid for reloading. */ - if(!cur_auth_plugin_config){ - log__printf(NULL, MOSQ_LOG_ERR, "Error: An auth_plugin_deny_special_chars option exists in the config file without an auth_plugin."); + if(!cur_plugin_config){ + log__printf(NULL, MOSQ_LOG_ERR, "Error: An auth_plugin_deny_special_chars option exists in the config file without a plugin."); return MOSQ_ERR_INVAL; } - if(conf__parse_bool(&token, "auth_plugin_deny_special_chars", &cur_auth_plugin_config->deny_special_chars, &saveptr)) return MOSQ_ERR_INVAL; + if(conf__parse_bool(&token, "auth_plugin_deny_special_chars", &cur_plugin_config->deny_special_chars, &saveptr)) return MOSQ_ERR_INVAL; }else if(!strcmp(token, "auto_id_prefix")){ conf__set_cur_security_options(config, cur_listener, &cur_security_options); if(conf__parse_string(&token, "auto_id_prefix", &cur_security_options->auto_id_prefix, &saveptr)) return MOSQ_ERR_INVAL; diff --git a/src/mosquitto_broker_internal.h b/src/mosquitto_broker_internal.h index aea034a8..cff912f5 100644 --- a/src/mosquitto_broker_internal.h +++ b/src/mosquitto_broker_internal.h @@ -97,7 +97,7 @@ enum mosquitto_msg_origin{ mosq_mo_broker = 1 }; -struct mosquitto__auth_plugin{ +struct mosquitto__plugin{ void *lib; void *user_data; int (*plugin_version)(void); @@ -134,14 +134,14 @@ struct mosquitto__auth_plugin{ int version; }; -struct mosquitto__auth_plugin_config +struct mosquitto__plugin_config { char *path; struct mosquitto_opt *options; int option_count; bool deny_special_chars; - struct mosquitto__auth_plugin plugin; + struct mosquitto__plugin plugin; }; struct mosquitto__callback{ @@ -178,8 +178,8 @@ struct mosquitto__security_options { char *password_file; char *psk_file; char *acl_file; - struct mosquitto__auth_plugin_config *auth_plugin_configs; - int auth_plugin_config_count; + struct mosquitto__plugin_config *plugin_configs; + int plugin_config_count; int8_t allow_anonymous; bool allow_zero_length_clientid; char *auto_id_prefix; @@ -491,7 +491,7 @@ struct mosquitto_db{ unsigned long msg_store_bytes; char *config_file; struct mosquitto__config *config; - int auth_plugin_count; + int plugin_count; bool verbose; #ifdef WITH_SYS_TREE int subscription_count; @@ -829,7 +829,7 @@ void listeners__stop(void); /* ============================================================ * Plugin related functions * ============================================================ */ -int plugin__load_v5(struct mosquitto__listener *listener, struct mosquitto__auth_plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib); +int plugin__load_v5(struct mosquitto__listener *listener, struct mosquitto__plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib); void plugin__handle_connect(struct mosquitto *context); void plugin__handle_disconnect(struct mosquitto *context, int reason); int plugin__handle_message(struct mosquitto *context, struct mosquitto_msg_store *stored); diff --git a/src/plugin.c b/src/plugin.c index 00ad6483..5c24ee4c 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -60,7 +60,7 @@ static int remove_callback(mosquitto_plugin_id_t *identifier, int event, struct } -int plugin__load_v5(struct mosquitto__listener *listener, struct mosquitto__auth_plugin *plugin, struct mosquitto_opt *options, int option_count, void *lib) +int plugin__load_v5(struct mosquitto__listener *listener, struct mosquitto__plugin *plugin, struct mosquitto_opt *options, int option_count, void *lib) { int rc; mosquitto_plugin_id_t *pid; diff --git a/src/security.c b/src/security.c index 0c5e8656..232a863d 100644 --- a/src/security.c +++ b/src/security.c @@ -47,7 +47,7 @@ void LIB_ERROR(void) } -static int security__load_v2(struct mosquitto__auth_plugin *plugin, struct mosquitto_auth_opt *auth_options, int auth_option_count, void *lib) +static int security__load_v2(struct mosquitto__plugin *plugin, struct mosquitto_auth_opt *auth_options, int auth_option_count, void *lib) { int rc; @@ -121,7 +121,7 @@ static int security__load_v2(struct mosquitto__auth_plugin *plugin, struct mosqu } -static int security__load_v3(struct mosquitto__auth_plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib) +static int security__load_v3(struct mosquitto__plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib) { int rc; @@ -194,7 +194,7 @@ static int security__load_v3(struct mosquitto__auth_plugin *plugin, struct mosqu } -static int security__load_v4(struct mosquitto__auth_plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib) +static int security__load_v4(struct mosquitto__plugin *plugin, struct mosquitto_opt *auth_options, int auth_option_count, void *lib) { int rc; @@ -298,25 +298,25 @@ static int security__module_init_single(struct mosquitto__listener *listener, st const int plugin_versions[] = {5, 4, 3, 2}; int plugin_version_count = sizeof(plugin_versions)/sizeof(int); - if(opts->auth_plugin_config_count == 0){ + if(opts->plugin_config_count == 0){ return MOSQ_ERR_SUCCESS; } - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].path){ - memset(&opts->auth_plugin_configs[i].plugin, 0, sizeof(struct mosquitto__auth_plugin)); + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].path){ + memset(&opts->plugin_configs[i].plugin, 0, sizeof(struct mosquitto__plugin)); - log__printf(NULL, MOSQ_LOG_INFO, "Loading plugin: %s", opts->auth_plugin_configs[i].path); + log__printf(NULL, MOSQ_LOG_INFO, "Loading plugin: %s", opts->plugin_configs[i].path); - lib = LIB_LOAD(opts->auth_plugin_configs[i].path); + lib = LIB_LOAD(opts->plugin_configs[i].path); if(!lib){ log__printf(NULL, MOSQ_LOG_ERR, - "Error: Unable to load auth plugin \"%s\".", opts->auth_plugin_configs[i].path); + "Error: Unable to load plugin \"%s\".", opts->plugin_configs[i].path); LIB_ERROR(); return MOSQ_ERR_UNKNOWN; } - opts->auth_plugin_configs[i].plugin.lib = NULL; + opts->plugin_configs[i].plugin.lib = NULL; if((plugin_version = (FUNC_plugin_version)LIB_SYM(lib, "mosquitto_plugin_version"))){ version = plugin_version(plugin_version_count, plugin_versions); }else if((plugin_auth_version = (FUNC_auth_plugin_version)LIB_SYM(lib, "mosquitto_auth_plugin_version"))){ @@ -328,13 +328,13 @@ static int security__module_init_single(struct mosquitto__listener *listener, st LIB_CLOSE(lib); return MOSQ_ERR_UNKNOWN; } - opts->auth_plugin_configs[i].plugin.version = version; + opts->plugin_configs[i].plugin.version = version; if(version == 5){ rc = plugin__load_v5( listener, - &opts->auth_plugin_configs[i].plugin, - opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + &opts->plugin_configs[i].plugin, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, lib); if(rc){ @@ -342,9 +342,9 @@ static int security__module_init_single(struct mosquitto__listener *listener, st } }else if(version == 4){ rc = security__load_v4( - &opts->auth_plugin_configs[i].plugin, - opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + &opts->plugin_configs[i].plugin, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, lib); if(rc){ @@ -352,9 +352,9 @@ static int security__module_init_single(struct mosquitto__listener *listener, st } }else if(version == 3){ rc = security__load_v3( - &opts->auth_plugin_configs[i].plugin, - opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + &opts->plugin_configs[i].plugin, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, lib); if(rc){ @@ -362,9 +362,9 @@ static int security__module_init_single(struct mosquitto__listener *listener, st } }else if(version == 2){ rc = security__load_v2( - &opts->auth_plugin_configs[i].plugin, - (struct mosquitto_auth_opt *)opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + &opts->plugin_configs[i].plugin, + (struct mosquitto_auth_opt *)opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, lib); if(rc){ @@ -406,10 +406,10 @@ static void security__module_cleanup_single(struct mosquitto__security_options * { int i; struct control_endpoint *ep, *tmp; - struct mosquitto__auth_plugin_config *conf; + struct mosquitto__plugin_config *conf; - for(i=0; iauth_plugin_config_count; i++){ - conf = &opts->auth_plugin_configs[i]; + for(i=0; iplugin_config_count; i++){ + conf = &opts->plugin_configs[i]; /* Run plugin cleanup function */ if(conf->plugin.version == 5){ @@ -452,7 +452,7 @@ static void security__module_cleanup_single(struct mosquitto__security_options * if(conf->plugin.lib){ LIB_CLOSE(conf->plugin.lib); } - memset(&conf->plugin, 0, sizeof(struct mosquitto__auth_plugin)); + memset(&conf->plugin, 0, sizeof(struct mosquitto__plugin)); } } @@ -490,28 +490,28 @@ static int security__init_single(struct mosquitto__security_options *opts, bool } } - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.version == 5){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.version == 5){ continue; - }else if(opts->auth_plugin_configs[i].plugin.version == 4){ - rc = opts->auth_plugin_configs[i].plugin.security_init_v4( - opts->auth_plugin_configs[i].plugin.user_data, - opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + }else if(opts->plugin_configs[i].plugin.version == 4){ + rc = opts->plugin_configs[i].plugin.security_init_v4( + opts->plugin_configs[i].plugin.user_data, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); - }else if(opts->auth_plugin_configs[i].plugin.version == 3){ - rc = opts->auth_plugin_configs[i].plugin.security_init_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->plugin_configs[i].plugin.version == 3){ + rc = opts->plugin_configs[i].plugin.security_init_v3( + opts->plugin_configs[i].plugin.user_data, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); - }else if(opts->auth_plugin_configs[i].plugin.version == 2){ - rc = opts->auth_plugin_configs[i].plugin.security_init_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, + }else if(opts->plugin_configs[i].plugin.version == 2){ + rc = opts->plugin_configs[i].plugin.security_init_v2( + opts->plugin_configs[i].plugin.user_data, + (struct mosquitto_auth_opt *)opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); }else{ rc = MOSQ_ERR_INVAL; @@ -559,28 +559,28 @@ static int security__cleanup_single(struct mosquitto__security_options *opts, bo int i; int rc; - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.version == 5){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.version == 5){ rc = MOSQ_ERR_SUCCESS; - }else if(opts->auth_plugin_configs[i].plugin.version == 4){ - rc = opts->auth_plugin_configs[i].plugin.security_cleanup_v4( - opts->auth_plugin_configs[i].plugin.user_data, - opts->auth_plugin_configs[i].options, - opts->auth_plugin_configs[i].option_count, + }else if(opts->plugin_configs[i].plugin.version == 4){ + rc = opts->plugin_configs[i].plugin.security_cleanup_v4( + opts->plugin_configs[i].plugin.user_data, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); - }else if(opts->auth_plugin_configs[i].plugin.version == 3){ - rc = opts->auth_plugin_configs[i].plugin.security_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->plugin_configs[i].plugin.version == 3){ + rc = opts->plugin_configs[i].plugin.security_cleanup_v3( + opts->plugin_configs[i].plugin.user_data, + opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); - }else if(opts->auth_plugin_configs[i].plugin.version == 2){ - rc = opts->auth_plugin_configs[i].plugin.security_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, + }else if(opts->plugin_configs[i].plugin.version == 2){ + rc = opts->plugin_configs[i].plugin.security_cleanup_v2( + opts->plugin_configs[i].plugin.user_data, + (struct mosquitto_auth_opt *)opts->plugin_configs[i].options, + opts->plugin_configs[i].option_count, reload); }else{ rc = MOSQ_ERR_INVAL; @@ -611,13 +611,13 @@ int mosquitto_security_cleanup(bool reload) /* int mosquitto_acl_check(struct mosquitto *context, const char *topic, int access) */ -static int acl__check_single(struct mosquitto__auth_plugin_config *auth_plugin, struct mosquitto *context, struct mosquitto_acl_msg *msg, int access) +static int acl__check_single(struct mosquitto__plugin_config *plugin, struct mosquitto *context, struct mosquitto_acl_msg *msg, int access) { const char *username; const char *topic = msg->topic; username = mosquitto_client_username(context); - if(auth_plugin->deny_special_chars == true){ + if(plugin->deny_special_chars == true){ /* Check whether the client id or username contains a +, # or / and if * so deny access. * @@ -634,21 +634,21 @@ static int acl__check_single(struct mosquitto__auth_plugin_config *auth_plugin, } } - if(auth_plugin->plugin.version == 4){ + if(plugin->plugin.version == 4){ if(access == MOSQ_ACL_UNSUBSCRIBE){ return MOSQ_ERR_SUCCESS; } - return auth_plugin->plugin.acl_check_v4(auth_plugin->plugin.user_data, access, context, msg); - }else if(auth_plugin->plugin.version == 3){ + return plugin->plugin.acl_check_v4(plugin->plugin.user_data, access, context, msg); + }else if(plugin->plugin.version == 3){ if(access == MOSQ_ACL_UNSUBSCRIBE){ return MOSQ_ERR_SUCCESS; } - return auth_plugin->plugin.acl_check_v3(auth_plugin->plugin.user_data, access, context, msg); - }else if(auth_plugin->plugin.version == 2){ + return plugin->plugin.acl_check_v3(plugin->plugin.user_data, access, context, msg); + }else if(plugin->plugin.version == 2){ if(access == MOSQ_ACL_SUBSCRIBE || access == MOSQ_ACL_UNSUBSCRIBE){ return MOSQ_ERR_SUCCESS; } - return auth_plugin->plugin.acl_check_v2(auth_plugin->plugin.user_data, context->id, username, topic, access); + return plugin->plugin.acl_check_v2(plugin->plugin.user_data, context->id, username, topic, access); }else{ return MOSQ_ERR_INVAL; } @@ -792,9 +792,9 @@ int mosquitto_acl_check(struct mosquitto *context, const char *topic, uint32_t p msg.qos = qos; msg.retain = retain; - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.version < 5){ - rc = acl__check_single(&opts->auth_plugin_configs[i], context, &msg, access); + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.version < 5){ + rc = acl__check_single(&opts->plugin_configs[i], context, &msg, access); if(rc == MOSQ_ERR_PLUGIN_IGNORE){ /* Do nothing, this is as if the plugin doesn't exist */ }else if(rc == MOSQ_ERR_PLUGIN_DEFER){ @@ -888,29 +888,29 @@ int mosquitto_unpwd_check(struct mosquitto *context) /* Old plugin checks */ - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.version == 5){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.version == 5){ continue; - }else if(opts->auth_plugin_configs[i].plugin.version == 4){ - if(opts->auth_plugin_configs[i].plugin.unpwd_check_v4){ - rc = opts->auth_plugin_configs[i].plugin.unpwd_check_v4( - opts->auth_plugin_configs[i].plugin.user_data, + }else if(opts->plugin_configs[i].plugin.version == 4){ + if(opts->plugin_configs[i].plugin.unpwd_check_v4){ + rc = opts->plugin_configs[i].plugin.unpwd_check_v4( + opts->plugin_configs[i].plugin.user_data, context, context->username, context->password); }else{ rc = MOSQ_ERR_PLUGIN_IGNORE; } - }else if(opts->auth_plugin_configs[i].plugin.version == 3){ - rc = opts->auth_plugin_configs[i].plugin.unpwd_check_v3( - opts->auth_plugin_configs[i].plugin.user_data, + }else if(opts->plugin_configs[i].plugin.version == 3){ + rc = opts->plugin_configs[i].plugin.unpwd_check_v3( + opts->plugin_configs[i].plugin.user_data, context, context->username, context->password); - }else if(opts->auth_plugin_configs[i].plugin.version == 2){ - rc = opts->auth_plugin_configs[i].plugin.unpwd_check_v2( - opts->auth_plugin_configs[i].plugin.user_data, + }else if(opts->plugin_configs[i].plugin.version == 2){ + rc = opts->plugin_configs[i].plugin.unpwd_check_v2( + opts->plugin_configs[i].plugin.user_data, context->username, context->password); @@ -1031,30 +1031,30 @@ int mosquitto_psk_key_get(struct mosquitto *context, const char *hint, const cha } /* Old plugins */ - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.version == 4 - && opts->auth_plugin_configs[i].plugin.psk_key_get_v4){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.version == 4 + && opts->plugin_configs[i].plugin.psk_key_get_v4){ - rc = opts->auth_plugin_configs[i].plugin.psk_key_get_v4( - opts->auth_plugin_configs[i].plugin.user_data, + rc = opts->plugin_configs[i].plugin.psk_key_get_v4( + opts->plugin_configs[i].plugin.user_data, context, hint, identity, key, max_key_len); - }else if(opts->auth_plugin_configs[i].plugin.version == 3){ - rc = opts->auth_plugin_configs[i].plugin.psk_key_get_v3( - opts->auth_plugin_configs[i].plugin.user_data, + }else if(opts->plugin_configs[i].plugin.version == 3){ + rc = opts->plugin_configs[i].plugin.psk_key_get_v3( + opts->plugin_configs[i].plugin.user_data, context, hint, identity, key, max_key_len); - }else if(opts->auth_plugin_configs[i].plugin.version == 2){ - rc = opts->auth_plugin_configs[i].plugin.psk_key_get_v2( - opts->auth_plugin_configs[i].plugin.user_data, + }else if(opts->plugin_configs[i].plugin.version == 2){ + rc = opts->plugin_configs[i].plugin.psk_key_get_v2( + opts->plugin_configs[i].plugin.user_data, hint, identity, key, @@ -1173,13 +1173,13 @@ int mosquitto_security_auth_start(struct mosquitto *context, bool reauth, const } /* Old plugins */ - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.auth_start_v4){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.auth_start_v4){ *data_out = NULL; *data_out_len = 0; - rc = opts->auth_plugin_configs[i].plugin.auth_start_v4( - opts->auth_plugin_configs[i].plugin.user_data, + rc = opts->plugin_configs[i].plugin.auth_start_v4( + opts->plugin_configs[i].plugin.user_data, context, context->auth_method, reauth, @@ -1275,13 +1275,13 @@ int mosquitto_security_auth_continue(struct mosquitto *context, const void *data } /* Old plugins */ - for(i=0; iauth_plugin_config_count; i++){ - if(opts->auth_plugin_configs[i].plugin.auth_continue_v4){ + for(i=0; iplugin_config_count; i++){ + if(opts->plugin_configs[i].plugin.auth_continue_v4){ *data_out = NULL; *data_out_len = 0; - rc = opts->auth_plugin_configs[i].plugin.auth_continue_v4( - opts->auth_plugin_configs[i].plugin.user_data, + rc = opts->plugin_configs[i].plugin.auth_continue_v4( + opts->plugin_configs[i].plugin.user_data, context, context->auth_method, data_in, data_in_len,