From ae668d2eca7af0c3d31e8898e807a4398760525a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 13 Feb 2011 09:53:44 +0000 Subject: fix gnutls error handling --- ChangeLog | 4 ++++ src/daemon/daemon.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index a33f9b8b..9db08def 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Feb 13 10:52:29 CET 2011 + Handle gnutls receive error(s) for interrupted SSL + connections better. -MS + Fri Feb 11 10:15:38 CET 2011 Fixing parameter ordering in documentation (#1659). -wellska diff --git a/src/daemon/daemon.c b/src/daemon/daemon.c index 3020f08e..d220973e 100644 --- a/src/daemon/daemon.c +++ b/src/daemon/daemon.c @@ -399,6 +399,14 @@ recv_tls_adapter (struct MHD_Connection *connection, void *other, size_t i) errno = EINTR; return -1; } + if (res < 0) + { + /* Likely 'GNUTLS_E_INVALID_SESSION' (client communication + disrupted); set errno to something caller will interpret + correctly as a hard error*/ + errno = EPIPE; + return res; + } return res; } -- cgit v1.2.3