Skip to content

Commit

Permalink
Minor tweaks to PR.
Browse files Browse the repository at this point in the history
  • Loading branch information
ralight committed Mar 11, 2021
1 parent 87cf368 commit 720ce01
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
21 changes: 8 additions & 13 deletions src/database.c
Original file line number Diff line number Diff line change
Expand Up @@ -895,29 +895,24 @@ int db__message_reconnect_reset(struct mosquitto *context)

int db__message_remove_incoming(struct mosquitto* context, uint16_t mid)
{
struct mosquitto_client_msg* tail, * tmp;
bool deleted = false;
struct mosquitto_client_msg *tail, *tmp;

if (!context) return MOSQ_ERR_INVAL;
if(!context) return MOSQ_ERR_INVAL;

DL_FOREACH_SAFE(context->msgs_in.inflight, tail, tmp) {
if (tail->mid == mid) {
if (tail->store->qos != 2) {
DL_FOREACH_SAFE(context->msgs_in.inflight, tail, tmp){
if(tail->mid == mid) {
if(tail->store->qos != 2){
return MOSQ_ERR_PROTOCOL;
}
db__message_remove(&context->msgs_in, tail);
deleted = true;
return MOSQ_ERR_SUCCESS;
}
}

if (deleted) {
return MOSQ_ERR_SUCCESS;
}
else {
return MOSQ_ERR_NOT_FOUND;
}
return MOSQ_ERR_NOT_FOUND;
}


int db__message_release_incoming(struct mosquitto *context, uint16_t mid)
{
struct mosquitto_client_msg *tail, *tmp;
Expand Down
7 changes: 6 additions & 1 deletion src/handle_publish.c
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,12 @@ int handle__publish(struct mosquitto *context)
db__message_store_find(context, msg->source_mid, &stored);
}

if (stored && msg->source_mid != 0 && (stored->qos != msg->qos || stored->payloadlen != msg->payloadlen || strcmp(stored->topic, msg->topic) || memcmp(stored->payload, msg->payload, msg->payloadlen) )){
if(stored && msg->source_mid != 0 &&
(stored->qos != msg->qos
|| stored->payloadlen != msg->payloadlen
|| strcmp(stored->topic, msg->topic)
|| memcmp(stored->payload, msg->payload, msg->payloadlen) )){

log__printf(NULL, MOSQ_LOG_WARNING, "Reused message ID %u from %s detected. Clearing from storage.", msg->source_mid, context->id);
db__message_remove_incoming(context, msg->source_mid);
stored = NULL;
Expand Down

0 comments on commit 720ce01

Please sign in to comment.