Fix for issue #874

With special acknowledgement to sxsing (his github login) for his
help in development and testing of this fix.

NOTE: Pull-request is against master as the fixes branch has not
been updated with the v1.5 file src/handle_connect.c

Signed-off-by: Dave Miller <dmiller@tibco.com>
This commit is contained in:
Dave Miller 2018-07-23 14:27:57 -05:00 committed by Roger A. Light
parent cd271041f5
commit 81a82f6fe2
2 changed files with 4 additions and 1 deletions

View File

@ -578,6 +578,7 @@ int handle__connect(struct mosquitto_db *db, struct mosquitto *context)
}
found_context->clean_session = true;
found_context->state = mosq_cs_expiring;
do_disconnect(db, found_context);
}

View File

@ -608,7 +608,9 @@ void do_disconnect(struct mosquitto_db *db, struct mosquitto *context)
}else{
id = "<unknown>";
}
if(context->state != mosq_cs_disconnecting){
if (context->state == mosq_cs_expiring){
log__printf(NULL, MOSQ_LOG_NOTICE, "Expiring old client session %s, disconnecting.", id);
}else if(context->state != mosq_cs_disconnecting){
log__printf(NULL, MOSQ_LOG_NOTICE, "Socket error on client %s, disconnecting.", id);
}else{
log__printf(NULL, MOSQ_LOG_NOTICE, "Client %s disconnected.", id);