|
|
|
@ -39,11 +39,14 @@ static int mosquitto__memcmp_const(const void *ptr1, const void *b, size_t len);
|
|
|
|
|
int mosquitto_security_init_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
{
|
|
|
|
|
int rc;
|
|
|
|
|
int i;
|
|
|
|
|
char *pwf;
|
|
|
|
|
char *pskf;
|
|
|
|
|
|
|
|
|
|
/* Load username/password data if required. */
|
|
|
|
|
if(db->config->per_listener_settings){
|
|
|
|
|
for(int i=0; i<db->config->listener_count; i++){
|
|
|
|
|
char *pwf = db->config->listeners[i].security_options.password_file;
|
|
|
|
|
for(i=0; i<db->config->listener_count; i++){
|
|
|
|
|
pwf = db->config->listeners[i].security_options.password_file;
|
|
|
|
|
if(pwf){
|
|
|
|
|
rc = unpwd__file_parse(&db->config->listeners[i].unpwd, pwf);
|
|
|
|
|
if(rc){
|
|
|
|
@ -54,7 +57,7 @@ int mosquitto_security_init_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
if(db->config->security_options.password_file){
|
|
|
|
|
char *pwf = db->config->security_options.password_file;
|
|
|
|
|
pwf = db->config->security_options.password_file;
|
|
|
|
|
if(pwf){
|
|
|
|
|
rc = unpwd__file_parse(&db->unpwd, pwf);
|
|
|
|
|
if(rc){
|
|
|
|
@ -67,7 +70,7 @@ int mosquitto_security_init_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
|
|
|
|
|
/* Load acl data if required. */
|
|
|
|
|
if(db->config->per_listener_settings){
|
|
|
|
|
for(int i=0; i<db->config->listener_count; i++){
|
|
|
|
|
for(i=0; i<db->config->listener_count; i++){
|
|
|
|
|
if(db->config->listeners[i].security_options.acl_file){
|
|
|
|
|
rc = aclfile__parse(db, &db->config->listeners[i].security_options);
|
|
|
|
|
if(rc){
|
|
|
|
@ -88,8 +91,8 @@ int mosquitto_security_init_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
|
|
|
|
|
/* Load psk data if required. */
|
|
|
|
|
if(db->config->per_listener_settings){
|
|
|
|
|
for(int i=0; i<db->config->listener_count; i++){
|
|
|
|
|
char *pskf = db->config->listeners[i].security_options.psk_file;
|
|
|
|
|
for(i=0; i<db->config->listener_count; i++){
|
|
|
|
|
pskf = db->config->listeners[i].security_options.psk_file;
|
|
|
|
|
if(pskf){
|
|
|
|
|
rc = psk__file_parse(db, &db->config->listeners[i].psk_id, pskf);
|
|
|
|
|
if(rc){
|
|
|
|
@ -115,13 +118,15 @@ int mosquitto_security_init_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
int mosquitto_security_cleanup_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
{
|
|
|
|
|
int rc;
|
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
rc = acl__cleanup(db, reload);
|
|
|
|
|
if(rc != MOSQ_ERR_SUCCESS) return rc;
|
|
|
|
|
|
|
|
|
|
rc = unpwd__cleanup(&db->unpwd, reload);
|
|
|
|
|
if(rc != MOSQ_ERR_SUCCESS) return rc;
|
|
|
|
|
|
|
|
|
|
for(int i=0; i<db->config->listener_count; i++){
|
|
|
|
|
for(i=0; i<db->config->listener_count; i++){
|
|
|
|
|
if(db->config->listeners[i].unpwd){
|
|
|
|
|
rc = unpwd__cleanup(&db->config->listeners[i].unpwd, reload);
|
|
|
|
|
if(rc != MOSQ_ERR_SUCCESS) return rc;
|
|
|
|
@ -131,7 +136,7 @@ int mosquitto_security_cleanup_default(struct mosquitto_db *db, bool reload)
|
|
|
|
|
rc = unpwd__cleanup(&db->psk_id, reload);
|
|
|
|
|
if(rc != MOSQ_ERR_SUCCESS) return rc;
|
|
|
|
|
|
|
|
|
|
for(int i=0; i<db->config->listener_count; i++){
|
|
|
|
|
for(i=0; i<db->config->listener_count; i++){
|
|
|
|
|
if(db->config->listeners[i].psk_id){
|
|
|
|
|
rc = unpwd__cleanup(&db->config->listeners[i].psk_id, reload);
|
|
|
|
|
if(rc != MOSQ_ERR_SUCCESS) return rc;
|
|
|
|
|