Rename auth_plugin -> plugin.

This commit is contained in:
Roger Light
2021-11-03 21:27:25 +00:00
parent 3ebc4f851c
commit 92c2c45d7c
5 changed files with 146 additions and 146 deletions
+2 -2
View File
@@ -148,8 +148,8 @@ static int broker__process_get_plugin_info(cJSON *j_responses, struct mosquitto
goto internal_error;
}
for(i=0; i<db.config->security_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; i<db.config->security_options.plugin_config_count; i++){
if(add_plugin_info(j_plugins, db.config->security_options.plugin_configs[i].plugin.identifier)){
goto internal_error;
}
}
+32 -32
View File
@@ -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; i<config->security_options.auth_plugin_config_count; i++){
plug = &config->security_options.auth_plugin_configs[i];
if(config->security_options.plugin_configs){
for(i=0; i<config->security_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;
+7 -7
View File
@@ -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);
+1 -1
View File
@@ -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;
+104 -104
View File
@@ -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; i<opts->auth_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; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
conf = &opts->auth_plugin_configs[i];
for(i=0; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
if(opts->auth_plugin_configs[i].plugin.version == 5){
for(i=0; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
if(opts->auth_plugin_configs[i].plugin.version == 5){
for(i=0; i<opts->plugin_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; i<opts->auth_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; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
if(opts->auth_plugin_configs[i].plugin.version == 5){
for(i=0; i<opts->plugin_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; i<opts->auth_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; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
if(opts->auth_plugin_configs[i].plugin.auth_start_v4){
for(i=0; i<opts->plugin_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; i<opts->auth_plugin_config_count; i++){
if(opts->auth_plugin_configs[i].plugin.auth_continue_v4){
for(i=0; i<opts->plugin_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,