Make args const where possible, fix persist-sqlite build.

pull/2756/merge
Roger A. Light 2 years ago
parent 56462c1229
commit 747fcacd67

@ -44,7 +44,7 @@ void broker__print_usage(void)
static void print_listeners(cJSON *j_response)
{
cJSON *j_data, *j_listeners, *j_listener, *jtmp;
char *stmp;
const char *stmp;
int i=1;
j_data = cJSON_GetObjectItem(j_response, "data");
@ -89,7 +89,7 @@ static void print_listeners(cJSON *j_response)
static void print_plugin_info(cJSON *j_response)
{
cJSON *j_data, *j_plugins, *j_plugin, *jtmp, *j_eps;
char *stmp;
const char *stmp;
bool first;
j_data = cJSON_GetObjectItem(j_response, "data");
@ -171,7 +171,7 @@ static void broker__payload_callback(struct mosq_ctrl *ctrl, long payloadlen, co
return;
}
char *error;
const char *error;
if(json_get_string(j_response, "error", &error, false) == MOSQ_ERR_SUCCESS){
fprintf(stderr, "%s: Error: %s.\n", j_command->valuestring, error);
}else{

@ -116,7 +116,7 @@ static void print_list(cJSON *j_response, const char *arrayname, const char *key
}
cJSON_ArrayForEach(j_elem, j_array){
char *stmp;
const char *stmp;
if(cJSON_IsObject(j_elem)){
if(json_get_string(j_elem, keyname, &stmp, false) == MOSQ_ERR_SUCCESS){
@ -152,7 +152,7 @@ static void print_json_array(cJSON *j_list, int slen, const char *label, const c
if(j_list && cJSON_IsArray(j_list)){
cJSON_ArrayForEach(j_elem, j_list){
if(cJSON_IsObject(j_elem)){
char *stmp;
const char *stmp;
if(json_get_string(j_elem, element_name, &stmp, false) != MOSQ_ERR_SUCCESS){
continue;
@ -179,7 +179,7 @@ static void print_client(cJSON *j_response)
{
cJSON *j_data, *j_client, *jtmp;
const int label_width = strlen( "Connections:");
char *stmp;
const char *stmp;
j_data = cJSON_GetObjectItem(j_response, "data");
if(j_data == NULL || !cJSON_IsObject(j_data)){
@ -220,7 +220,7 @@ static void print_group(cJSON *j_response)
{
cJSON *j_data, *j_group;
int label_width = strlen("Groupname:");
char *groupname;
const char *groupname;
j_data = cJSON_GetObjectItem(j_response, "data");
if(j_data == NULL || !cJSON_IsObject(j_data)){
@ -249,7 +249,7 @@ static void print_role(cJSON *j_response)
{
cJSON *j_data, *j_role, *j_array, *j_elem, *jtmp;
bool first;
char *stmp;
const char *stmp;
j_data = cJSON_GetObjectItem(j_response, "data");
if(j_data == NULL || !cJSON_IsObject(j_data)){
@ -273,7 +273,7 @@ static void print_role(cJSON *j_response)
if(j_array && cJSON_IsArray(j_array)){
first = true;
cJSON_ArrayForEach(j_elem, j_array){
char *stmp;
const char *stmp;
if(json_get_string(j_role, "rolename", &stmp, false) == MOSQ_ERR_SUCCESS){
if(first){
@ -306,7 +306,7 @@ static void print_role(cJSON *j_response)
static void print_anonymous_group(cJSON *j_response)
{
cJSON *j_data, *j_group;
char *groupname;
const char *groupname;
j_data = cJSON_GetObjectItem(j_response, "data");
if(j_data == NULL || !cJSON_IsObject(j_data)){
@ -344,7 +344,7 @@ static void print_default_acl_access(cJSON *j_response)
}
cJSON_ArrayForEach(j_acl, j_acls){
char *acltype;
const char *acltype;
bool allow;
if(json_get_string(j_acl, "acltype", &acltype, false) != MOSQ_ERR_SUCCESS
@ -360,7 +360,7 @@ static void print_default_acl_access(cJSON *j_response)
static void dynsec__payload_callback(struct mosq_ctrl *ctrl, long payloadlen, const void *payload)
{
cJSON *tree, *j_responses, *j_response;
char *command, *error;
const char *command, *error;
UNUSED(ctrl);

@ -231,7 +231,7 @@ int dynsec_client__file_set_password(int argc, char *argv[], const char *file)
cJSON_ArrayForEach(j_client, j_clients){
if(cJSON_IsObject(j_client) == true){
char *username_json;
const char *username_json;
if(json_get_string(j_client, "username", &username_json, false) == MOSQ_ERR_SUCCESS){
if(!strcmp(username_json, username)){
if(dynsec_auth__pw_hash(&client, password, client.pw.password_hash, sizeof(client.pw.password_hash), true) != MOSQ_ERR_SUCCESS){

@ -36,7 +36,7 @@ Contributors:
#include "memory_mosq.h"
#ifdef WITH_TLS
int base64__encode(unsigned char *in, size_t in_len, char **encoded)
int base64__encode(const unsigned char *in, size_t in_len, char **encoded)
{
BIO *bmem, *b64;
BUF_MEM *bptr = NULL;
@ -70,7 +70,7 @@ int base64__encode(unsigned char *in, size_t in_len, char **encoded)
}
int base64__decode(char *in, unsigned char **decoded, unsigned int *decoded_len)
int base64__decode(const char *in, unsigned char **decoded, unsigned int *decoded_len)
{
BIO *bmem, *b64;
size_t slen;

@ -18,7 +18,7 @@ Contributors:
#ifndef BASE64_MOSQ_H
#define BASE64_MOSQ_H
int base64__encode(unsigned char *in, size_t in_len, char **encoded);
int base64__decode(char *in, unsigned char **decoded, unsigned int *decoded_len);
int base64__encode(const unsigned char *in, size_t in_len, char **encoded);
int base64__decode(const char *in, unsigned char **decoded, unsigned int *decoded_len);
#endif

@ -73,7 +73,7 @@ int json_get_int(cJSON *json, const char *name, int *value, bool optional, int d
}
int json_get_string(cJSON *json, const char *name, char **value, bool optional)
int json_get_string(cJSON *json, const char *name, const char **value, bool optional)
{
cJSON *jtmp;
@ -84,7 +84,11 @@ int json_get_string(cJSON *json, const char *name, char **value, bool optional)
if(cJSON_IsString(jtmp) == false){
return MOSQ_ERR_INVAL;
}
*value = jtmp->valuestring;
if(jtmp->valuestring){
*value = jtmp->valuestring;
}else{
*value = "";
}
}else{
if(optional == false){
return MOSQ_ERR_INVAL;

@ -23,7 +23,7 @@ Contributors:
/* "optional==false" can also be taken to mean "only return success if the key exists and is valid" */
int json_get_bool(cJSON *json, const char *name, bool *value, bool optional, bool default_value);
int json_get_int(cJSON *json, const char *name, int *value, bool optional, int default_value);
int json_get_string(cJSON *json, const char *name, char **value, bool optional);
int json_get_string(cJSON *json, const char *name, const char **value, bool optional);
cJSON *cJSON_AddIntToObject(cJSON * const object, const char * const name, long long number);
cJSON *cJSON_CreateInt(int num);

@ -114,10 +114,10 @@ int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
unsigned int buf_len;
int priority;
int iterations;
char *username;
const char *username;
size_t username_len;
char *salt;
char *password;
const char *salt;
const char *password;
j_clients = cJSON_GetObjectItem(tree, "clients");
if(j_clients == NULL){
@ -185,7 +185,7 @@ int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
}
/* Client id */
char *clientid;
const char *clientid;
if(json_get_string(j_client, "clientid", &clientid, false) == MOSQ_ERR_SUCCESS){
client->clientid = mosquitto_strdup(clientid);
if(client->clientid == NULL){
@ -195,7 +195,7 @@ int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
}
/* Text name */
char *textname;
const char *textname;
if(json_get_string(j_client, "textname", &textname, false) == MOSQ_ERR_SUCCESS){
client->text_name = mosquitto_strdup(textname);
if(client->text_name == NULL){
@ -206,7 +206,7 @@ int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
}
/* Text description */
char *textdescription;
const char *textdescription;
if(json_get_string(j_client, "textdescription", &textdescription, false) == MOSQ_ERR_SUCCESS){
client->text_description = mosquitto_strdup(textdescription);
if(client->text_description == NULL){
@ -222,7 +222,7 @@ int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
if(j_roles && cJSON_IsArray(j_roles)){
cJSON_ArrayForEach(j_role, j_roles){
if(cJSON_IsObject(j_role)){
char *rolename;
const char *rolename;
if(json_get_string(j_role, "rolename", &rolename, false) == MOSQ_ERR_SUCCESS){
json_get_int(j_role, "priority", &priority, true, -1);
role = dynsec_roles__find(data, rolename);
@ -313,8 +313,8 @@ int dynsec_clients__config_save(struct dynsec__data *data, cJSON *tree)
int dynsec_clients__process_create(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *password, *clientid = NULL;
char *text_name, *text_description;
const char *username, *password, *clientid = NULL;
const char *text_name, *text_description;
struct dynsec__client *client;
int rc;
cJSON *j_groups, *j_group;
@ -431,7 +431,7 @@ int dynsec_clients__process_create(struct dynsec__data *data, struct mosquitto_c
if(j_groups && cJSON_IsArray(j_groups)){
cJSON_ArrayForEach(j_group, j_groups){
if(cJSON_IsObject(j_group)){
char *groupname;
const char *groupname;
if(json_get_string(j_group, "groupname", &groupname, false) == MOSQ_ERR_SUCCESS){
json_get_int(j_group, "priority", &priority, true, -1);
rc = dynsec_groups__add_client(data, username, groupname, priority, false);
@ -464,7 +464,7 @@ int dynsec_clients__process_create(struct dynsec__data *data, struct mosquitto_c
int dynsec_clients__process_delete(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username;
const char *username;
struct dynsec__client *client;
const char *admin_clientid, *admin_username;
@ -498,7 +498,7 @@ int dynsec_clients__process_delete(struct dynsec__data *data, struct mosquitto_c
int dynsec_clients__process_disable(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username;
const char *username;
struct dynsec__client *client;
const char *admin_clientid, *admin_username;
@ -535,7 +535,7 @@ int dynsec_clients__process_disable(struct dynsec__data *data, struct mosquitto_
int dynsec_clients__process_enable(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username;
const char *username;
struct dynsec__client *client;
const char *admin_clientid, *admin_username;
@ -570,7 +570,8 @@ int dynsec_clients__process_enable(struct dynsec__data *data, struct mosquitto_c
int dynsec_clients__process_set_id(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *clientid, *clientid_heap = NULL;
const char *username, *clientid;
char *clientid_heap = NULL;
struct dynsec__client *client;
size_t slen;
const char *admin_clientid, *admin_username;
@ -645,7 +646,7 @@ static int client__set_password(struct dynsec__client *client, const char *passw
int dynsec_clients__process_set_password(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *password;
const char *username, *password;
struct dynsec__client *client;
int rc;
const char *admin_clientid, *admin_username;
@ -712,15 +713,15 @@ static void client__remove_all_roles(struct dynsec__client *client)
int dynsec_clients__process_modify(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username;
const char *username;
char *clientid = NULL;
char *password = NULL;
const char *password = NULL;
char *text_name = NULL, *text_description = NULL;
bool have_clientid = false, have_text_name = false, have_text_description = false, have_rolelist = false, have_password = false;
struct dynsec__client *client;
struct dynsec__group *group;
struct dynsec__rolelist *rolelist = NULL;
char *str;
const char *str;
int rc;
int priority;
cJSON *j_group, *j_groups;
@ -805,7 +806,7 @@ int dynsec_clients__process_modify(struct dynsec__data *data, struct mosquitto_c
/* Iterate through list to check all groups are valid */
cJSON_ArrayForEach(j_group, j_groups){
if(cJSON_IsObject(j_group)){
char *groupname;
const char *groupname;
if(json_get_string(j_group, "groupname", &groupname, false) == MOSQ_ERR_SUCCESS){
group = dynsec_groups__find(data, groupname);
if(group == NULL){
@ -824,7 +825,7 @@ int dynsec_clients__process_modify(struct dynsec__data *data, struct mosquitto_c
dynsec__remove_client_from_all_groups(data, username);
cJSON_ArrayForEach(j_group, j_groups){
if(cJSON_IsObject(j_group)){
char *groupname;
const char *groupname;
if(json_get_string(j_group, "groupname", &groupname, false) == MOSQ_ERR_SUCCESS){
json_get_int(j_group, "priority", &priority, true, -1);
dynsec_groups__add_client(data, username, groupname, priority, false);
@ -1009,7 +1010,7 @@ static cJSON *add_client_to_json(struct dynsec__client *client, bool verbose)
int dynsec_clients__process_get(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username;
const char *username;
struct dynsec__client *client;
cJSON *tree, *j_client, *j_data;
const char *admin_clientid, *admin_username;
@ -1126,7 +1127,7 @@ int dynsec_clients__process_list(struct dynsec__data *data, struct mosquitto_con
int dynsec_clients__process_add_role(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *rolename;
const char *username, *rolename;
struct dynsec__client *client;
struct dynsec__role *role;
int priority;
@ -1184,7 +1185,7 @@ int dynsec_clients__process_add_role(struct dynsec__data *data, struct mosquitto
int dynsec_clients__process_remove_role(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *rolename;
const char *username, *rolename;
struct dynsec__client *client;
struct dynsec__role *role;
const char *admin_clientid, *admin_username;

@ -38,7 +38,7 @@ int dynsec__process_set_default_acl_access(struct dynsec__data *data, struct mos
cJSON *j_actions, *j_action;
bool allow;
const char *admin_clientid, *admin_username;
char *acltype;
const char *acltype;
j_actions = cJSON_GetObjectItem(cmd->j_command, "acls");
if(j_actions == NULL || !cJSON_IsArray(j_actions)){

@ -104,7 +104,7 @@ static void group__free_item(struct dynsec__data *data, struct dynsec__group *gr
int dynsec_groups__process_add_role(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname, *rolename;
const char *groupname, *rolename;
struct dynsec__group *group;
struct dynsec__role *role;
int priority;
@ -195,8 +195,8 @@ int dynsec_groups__config_load(struct dynsec__data *data, cJSON *tree)
struct dynsec__group *group;
struct dynsec__role *role;
int priority;
char *textname, *textdescription;
char *groupname;
const char *textname, *textdescription;
const char *groupname;
size_t groupname_len;
j_groups = cJSON_GetObjectItem(tree, "groups");
@ -258,7 +258,7 @@ int dynsec_groups__config_load(struct dynsec__data *data, cJSON *tree)
cJSON_ArrayForEach(j_role, j_roles){
if(cJSON_IsObject(j_role)){
char *rolename;
const char *rolename;
if(json_get_string(j_role, "rolename", &rolename, false) == MOSQ_ERR_SUCCESS){
json_get_int(j_role, "priority", &priority, true, -1);
role = dynsec_roles__find(data, rolename);
@ -277,7 +277,7 @@ int dynsec_groups__config_load(struct dynsec__data *data, cJSON *tree)
cJSON *j_client;
cJSON_ArrayForEach(j_client, j_clientlist){
if(cJSON_IsObject(j_client)){
char *username;
const char *username;
if(json_get_string(j_client, "username", &username, false) == MOSQ_ERR_SUCCESS){
json_get_int(j_client, "priority", &priority, true, -1);
dynsec_groups__add_client(data, username, group->groupname, priority, false);
@ -364,7 +364,7 @@ int dynsec_groups__config_save(struct dynsec__data *data, cJSON *tree)
int dynsec_groups__process_create(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname, *text_name, *text_description;
const char *groupname, *text_name, *text_description;
struct dynsec__group *group = NULL;
int rc = MOSQ_ERR_SUCCESS;
const char *admin_clientid, *admin_username;
@ -450,7 +450,7 @@ int dynsec_groups__process_create(struct dynsec__data *data, struct mosquitto_co
int dynsec_groups__process_delete(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname;
const char *groupname;
struct dynsec__group *group;
const char *admin_clientid, *admin_username;
@ -534,7 +534,7 @@ int dynsec_groups__add_client(struct dynsec__data *data, const char *username, c
int dynsec_groups__process_add_client(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *groupname;
const char *username, *groupname;
int rc;
int priority;
const char *admin_clientid, *admin_username;
@ -636,7 +636,7 @@ int dynsec_groups__remove_client(struct dynsec__data *data, const char *username
int dynsec_groups__process_remove_client(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *username, *groupname;
const char *username, *groupname;
int rc;
const char *admin_clientid, *admin_username;
@ -804,7 +804,7 @@ int dynsec_groups__process_list(struct dynsec__data *data, struct mosquitto_cont
int dynsec_groups__process_get(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname;
const char *groupname;
cJSON *tree, *j_group, *j_data;
struct dynsec__group *group;
const char *admin_clientid, *admin_username;
@ -862,7 +862,7 @@ int dynsec_groups__process_get(struct dynsec__data *data, struct mosquitto_contr
int dynsec_groups__process_remove_role(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname, *rolename;
const char *groupname, *rolename;
struct dynsec__group *group;
struct dynsec__role *role;
const char *admin_clientid, *admin_username;
@ -915,18 +915,17 @@ int dynsec_groups__process_remove_role(struct dynsec__data *data, struct mosquit
int dynsec_groups__process_modify(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname = NULL;
const char *groupname = NULL;
char *text_name = NULL, *text_description = NULL;
struct dynsec__client *client = NULL;
struct dynsec__group *group = NULL;
struct dynsec__rolelist *rolelist = NULL;
bool have_text_name = false, have_text_description = false, have_rolelist = false;
char *str;
const char *str;
int rc;
int priority;
cJSON *j_client, *j_clients;
const char *admin_clientid, *admin_username;
char *username;
if(json_get_string(cmd->j_command, "groupname", &groupname, false) != MOSQ_ERR_SUCCESS){
mosquitto_control_command_reply(cmd, "Invalid/missing groupname");
@ -986,6 +985,7 @@ int dynsec_groups__process_modify(struct dynsec__data *data, struct mosquitto_co
j_clients = cJSON_GetObjectItem(cmd->j_command, "clients");
if(j_clients && cJSON_IsArray(j_clients)){
const char *username;
/* Iterate over array to check clients are valid before proceeding */
cJSON_ArrayForEach(j_client, j_clients){
if(cJSON_IsObject(j_client)){
@ -1065,7 +1065,7 @@ error:
int dynsec_groups__process_set_anonymous_group(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *groupname;
const char *groupname;
struct dynsec__group *group = NULL;
const char *admin_clientid, *admin_username;

@ -174,7 +174,7 @@ int dynsec_rolelist__load_from_json(struct dynsec__data *data, cJSON *command, s
cJSON *j_roles, *j_role;
int priority;
struct dynsec__role *role;
char *rolename;
const char *rolename;
j_roles = cJSON_GetObjectItem(command, "roles");
if(j_roles){

@ -207,8 +207,8 @@ static int dynsec_roles__acl_load(cJSON *j_acls, const char *key, struct dynsec_
cJSON *j_acl, *jtmp;
struct dynsec__acl *acl;
size_t topic_len;
char *acltype;
char *topic;
const char *acltype;
const char *topic;
cJSON_ArrayForEach(j_acl, j_acls){
if(json_get_string(j_acl, "acltype", &acltype, false) != MOSQ_ERR_SUCCESS){
@ -265,7 +265,7 @@ int dynsec_roles__config_load(struct dynsec__data *data, cJSON *tree)
cJSON_ArrayForEach(j_role, j_roles){
if(cJSON_IsObject(j_role) == true){
/* Role name */
char *rolename;
const char *rolename;
if(json_get_string(j_role, "rolename", &rolename, false) != MOSQ_ERR_SUCCESS){
continue;
}
@ -284,7 +284,7 @@ int dynsec_roles__config_load(struct dynsec__data *data, cJSON *tree)
strncpy(role->rolename, rolename, rolename_len+1);
/* Text name */
char *textname;
const char *textname;
if(json_get_string(j_role, "textname", &textname, false) == MOSQ_ERR_SUCCESS){
role->text_name = mosquitto_strdup(textname);
if(role->text_name == NULL){
@ -294,7 +294,7 @@ int dynsec_roles__config_load(struct dynsec__data *data, cJSON *tree)
}
/* Text description */
char *textdescription;
const char *textdescription;
if(json_get_string(j_role, "textdescription", &textdescription, false) == MOSQ_ERR_SUCCESS){
role->text_description = mosquitto_strdup(textdescription);
if(role->text_description == NULL){
@ -339,8 +339,8 @@ int dynsec_roles__config_load(struct dynsec__data *data, cJSON *tree)
int dynsec_roles__process_create(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
char *text_name, *text_description;
const char *rolename;
const char *text_name, *text_description;
bool allow_wildcard_subs;
struct dynsec__role *role;
int rc = MOSQ_ERR_SUCCESS;
@ -472,7 +472,7 @@ static void role__remove_all_groups(struct dynsec__data *data, struct dynsec__ro
int dynsec_roles__process_delete(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
const char *rolename;
struct dynsec__role *role;
const char *admin_clientid, *admin_username;
@ -602,14 +602,14 @@ int dynsec_roles__process_list(struct dynsec__data *data, struct mosquitto_contr
int dynsec_roles__process_add_acl(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
const char *rolename;
struct dynsec__role *role;
struct dynsec__acl **acllist, *acl;
int rc;
const char *admin_clientid, *admin_username;
char *topic;
const char *topic;
size_t topic_len;
char *acltype;
const char *acltype;
if(json_get_string(cmd->j_command, "rolename", &rolename, false) != MOSQ_ERR_SUCCESS){
mosquitto_control_command_reply(cmd, "Invalid/missing rolename");
@ -696,13 +696,13 @@ int dynsec_roles__process_add_acl(struct dynsec__data *data, struct mosquitto_co
int dynsec_roles__process_remove_acl(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
const char *rolename;
struct dynsec__role *role;
struct dynsec__acl **acllist, *acl;
char *topic;
const char *topic;
int rc;
const char *admin_clientid, *admin_username;
char *acltype;
const char *acltype;
if(json_get_string(cmd->j_command, "rolename", &rolename, false) != MOSQ_ERR_SUCCESS){
mosquitto_control_command_reply(cmd, "Invalid/missing rolename");
@ -777,7 +777,7 @@ int dynsec_roles__process_remove_acl(struct dynsec__data *data, struct mosquitto
int dynsec_roles__process_get(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
const char *rolename;
struct dynsec__role *role;
cJSON *tree, *j_role, *j_data;
const char *admin_clientid, *admin_username;
@ -833,8 +833,8 @@ int dynsec_roles__process_get(struct dynsec__data *data, struct mosquitto_contro
int dynsec_roles__process_modify(struct dynsec__data *data, struct mosquitto_control_cmd *cmd, struct mosquitto *context)
{
char *rolename;
char *text_name, *text_description;
const char *rolename;
const char *text_name, *text_description;
struct dynsec__role *role;
char *str;
cJSON *j_acls;

@ -10,6 +10,7 @@ if(SQLITE3_FOUND AND CJSON_FOUND)
clients.c
client_msgs.c
init.c
../../common/json_help.c ../../common/json_help.h
plugin.c
restore.c
retain_msgs.c

@ -11,6 +11,7 @@ OBJS= \
clients.o \
client_msgs.o \
init.o \
json_help.o \
plugin.o \
restore.o \
retain_msgs.o \
@ -38,6 +39,9 @@ client_msgs.o : client_msgs.c persist_sqlite.h
init.o : init.c persist_sqlite.h
${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(PLUGIN_CPPFLAGS) $(PLUGIN_CFLAGS) -c $< -o $@
json_help.o : ${R}/common/json_help.c ${R}/common/json_help.h
${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(PLUGIN_CPPFLAGS) $(PLUGIN_CFLAGS) -c $< -o $@
base_msgs.o : base_msgs.c persist_sqlite.h
${CROSS_COMPILE}${CC} $(LOCAL_CPPFLAGS) $(PLUGIN_CPPFLAGS) $(PLUGIN_CFLAGS) -c $< -o $@

@ -73,7 +73,7 @@ static mosquitto_property *json_to_properties(const char *json)
}
cJSON_ArrayForEach(obj, array){
char *identifier;
const char *identifier;
json_get_string(obj, "identifier", &identifier, true);
j_value = cJSON_GetObjectItem(obj, "value");
@ -164,7 +164,7 @@ static mosquitto_property *json_to_properties(const char *json)
break;
case MQTT_PROP_TYPE_STRING_PAIR:
{
char *prop_name;
const char *prop_name;
if(!cJSON_IsString(j_value)){
mosquitto_log_printf(MOSQ_LOG_WARNING, "Sqlite persistence: Ignoring %s property whilst restoring, value is incorrect type", "string pair");

Loading…
Cancel
Save