|
|
@ -356,7 +356,7 @@ int persist__backup(struct mosquitto_db *db, bool shutdown)
|
|
|
|
uint32_t i32temp;
|
|
|
|
uint32_t i32temp;
|
|
|
|
uint16_t i16temp;
|
|
|
|
uint16_t i16temp;
|
|
|
|
uint8_t i8temp;
|
|
|
|
uint8_t i8temp;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
char *outfile = NULL;
|
|
|
|
char *outfile = NULL;
|
|
|
|
int len;
|
|
|
|
int len;
|
|
|
|
|
|
|
|
|
|
|
@ -477,7 +477,7 @@ int persist__backup(struct mosquitto_db *db, bool shutdown)
|
|
|
|
return rc;
|
|
|
|
return rc;
|
|
|
|
error:
|
|
|
|
error:
|
|
|
|
mosquitto__free(outfile);
|
|
|
|
mosquitto__free(outfile);
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
if(db_fptr) fclose(db_fptr);
|
|
|
|
if(db_fptr) fclose(db_fptr);
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
@ -596,7 +596,7 @@ static int persist__client_msg_chunk_restore(struct mosquitto_db *db, FILE *db_f
|
|
|
|
uint8_t qos, retain, direction, state, dup;
|
|
|
|
uint8_t qos, retain, direction, state, dup;
|
|
|
|
char *client_id = NULL;
|
|
|
|
char *client_id = NULL;
|
|
|
|
int rc;
|
|
|
|
int rc;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
|
|
|
|
|
|
|
|
read_e(db_fptr, &i16temp, sizeof(uint16_t));
|
|
|
|
read_e(db_fptr, &i16temp, sizeof(uint16_t));
|
|
|
|
slen = ntohs(i16temp);
|
|
|
|
slen = ntohs(i16temp);
|
|
|
@ -631,7 +631,7 @@ static int persist__client_msg_chunk_restore(struct mosquitto_db *db, FILE *db_f
|
|
|
|
|
|
|
|
|
|
|
|
return rc;
|
|
|
|
return rc;
|
|
|
|
error:
|
|
|
|
error:
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
fclose(db_fptr);
|
|
|
|
fclose(db_fptr);
|
|
|
|
mosquitto__free(client_id);
|
|
|
|
mosquitto__free(client_id);
|
|
|
@ -650,7 +650,7 @@ static int persist__msg_store_chunk_restore(struct mosquitto_db *db, FILE *db_fp
|
|
|
|
int rc = 0;
|
|
|
|
int rc = 0;
|
|
|
|
struct mosquitto_msg_store *stored = NULL;
|
|
|
|
struct mosquitto_msg_store *stored = NULL;
|
|
|
|
struct mosquitto_msg_store_load *load;
|
|
|
|
struct mosquitto_msg_store_load *load;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
|
|
|
|
|
|
|
|
payload.ptr = NULL;
|
|
|
|
payload.ptr = NULL;
|
|
|
|
|
|
|
|
|
|
|
@ -734,7 +734,7 @@ static int persist__msg_store_chunk_restore(struct mosquitto_db *db, FILE *db_fp
|
|
|
|
return rc;
|
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
error:
|
|
|
|
error:
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
fclose(db_fptr);
|
|
|
|
fclose(db_fptr);
|
|
|
|
mosquitto__free(source_id);
|
|
|
|
mosquitto__free(source_id);
|
|
|
@ -747,10 +747,10 @@ static int persist__retain_chunk_restore(struct mosquitto_db *db, FILE *db_fptr)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
dbid_t i64temp, store_id;
|
|
|
|
dbid_t i64temp, store_id;
|
|
|
|
struct mosquitto_msg_store_load *load;
|
|
|
|
struct mosquitto_msg_store_load *load;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
|
|
|
|
|
|
|
|
if(fread(&i64temp, sizeof(dbid_t), 1, db_fptr) != 1){
|
|
|
|
if(fread(&i64temp, sizeof(dbid_t), 1, db_fptr) != 1){
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
fclose(db_fptr);
|
|
|
|
fclose(db_fptr);
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
@ -773,7 +773,7 @@ static int persist__sub_chunk_restore(struct mosquitto_db *db, FILE *db_fptr)
|
|
|
|
char *client_id;
|
|
|
|
char *client_id;
|
|
|
|
char *topic;
|
|
|
|
char *topic;
|
|
|
|
int rc = 0;
|
|
|
|
int rc = 0;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
|
|
|
|
|
|
|
|
read_e(db_fptr, &i16temp, sizeof(uint16_t));
|
|
|
|
read_e(db_fptr, &i16temp, sizeof(uint16_t));
|
|
|
|
slen = ntohs(i16temp);
|
|
|
|
slen = ntohs(i16temp);
|
|
|
@ -807,7 +807,7 @@ static int persist__sub_chunk_restore(struct mosquitto_db *db, FILE *db_fptr)
|
|
|
|
|
|
|
|
|
|
|
|
return rc;
|
|
|
|
return rc;
|
|
|
|
error:
|
|
|
|
error:
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
fclose(db_fptr);
|
|
|
|
fclose(db_fptr);
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
@ -824,7 +824,7 @@ int persist__restore(struct mosquitto_db *db)
|
|
|
|
uint16_t i16temp, chunk;
|
|
|
|
uint16_t i16temp, chunk;
|
|
|
|
uint8_t i8temp;
|
|
|
|
uint8_t i8temp;
|
|
|
|
ssize_t rlen;
|
|
|
|
ssize_t rlen;
|
|
|
|
char err[256];
|
|
|
|
char *err;
|
|
|
|
struct mosquitto_msg_store_load *load, *load_tmp;
|
|
|
|
struct mosquitto_msg_store_load *load, *load_tmp;
|
|
|
|
|
|
|
|
|
|
|
|
assert(db);
|
|
|
|
assert(db);
|
|
|
@ -919,7 +919,7 @@ int persist__restore(struct mosquitto_db *db)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return rc;
|
|
|
|
return rc;
|
|
|
|
error:
|
|
|
|
error:
|
|
|
|
strerror_r(errno, err, 256);
|
|
|
|
err = strerror(errno);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
log__printf(NULL, MOSQ_LOG_ERR, "Error: %s.", err);
|
|
|
|
if(fptr) fclose(fptr);
|
|
|
|
if(fptr) fclose(fptr);
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|