projects
/
umurmur.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix error message at client disconnect when using OpenSSL.
[umurmur.git]
/
src
/
client.c
diff --git
a/src/client.c
b/src/client.c
index abb9377ef1b0dbc5f52d6566022250f0a282da05..abd90e6f7cfd8cd0b6de9e96698f3be6e78edb53 100644
(file)
--- a/
src/client.c
+++ b/
src/client.c
@@
-514,14
+514,18
@@
int Client_read(client_t *client)
client->readBlockedOnWrite = true;
return 0;
}
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");
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) {
}
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");
}
else if (SSLi_get_error(client->ssl, rc) == SSLI_ERROR_CONNRESET) {
Log_info_client(client, "Connection reset by peer");