|
|
|
@ -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;
|
|
|
|
|