From: Martin Johansson Date: Mon, 3 Dec 2012 19:53:54 +0000 (+0100) Subject: Fix error message at client disconnect when using OpenSSL. X-Git-Url: http://git.code-monkey.de/?p=umurmur.git;a=commitdiff_plain;h=bc7bbbdfcc9933129d7838224cdef3983ce53c26 Fix error message at client disconnect when using OpenSSL. --- diff --git a/src/client.c b/src/client.c index abb9377..abd90e6 100644 --- a/src/client.c +++ b/src/client.c @@ -514,14 +514,18 @@ int Client_read(client_t *client) client->readBlockedOnWrite = true; return 0; } - else if (SSLi_get_error(client->ssl, rc) == SSLI_ERROR_ZERO_RETURN) { + else if (SSLi_get_error(client->ssl, rc) == SSLI_ERROR_ZERO_RETURN || + SSLi_get_error(client->ssl, rc) == 0) { Log_info_client(client, "Connection closed by peer"); - if (!client->shutdown_wait) - Client_close(client); + Client_free(client); } else { if (SSLi_get_error(client->ssl, rc) == SSLI_ERROR_SYSCALL) { - Log_info_client(client,"Error: %s - Closing connection", strerror(errno)); + if (errno == 0) + Log_info_client(client, "Connection closed by peer"); + else + Log_info_client(client,"Error: %s - Closing connection (code %d)", + strerror(errno)); } else if (SSLi_get_error(client->ssl, rc) == SSLI_ERROR_CONNRESET) { Log_info_client(client, "Connection reset by peer");