summaryrefslogtreecommitdiff
path: root/src/serv.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2015-05-15 12:02:56 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2015-05-15 12:02:56 +0200
commit66fe0960fda7afda236ae1fc3c38ea7729823ecd (patch)
tree6f365440727d16c0e0f6629fa7bed7cc69562135 /src/serv.c
parentd9f61cad06d5c298f9761943e0a2006041ebb68d (diff)
downloadgnutls-66fe0960fda7afda236ae1fc3c38ea7729823ecd.tar.gz
gnutls-serv: send alert when wrong data have been received from client
Diffstat (limited to 'src/serv.c')
-rw-r--r--src/serv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/serv.c b/src/serv.c
index f29b0d8570..9a4d48099b 100644
--- a/src/serv.c
+++ b/src/serv.c
@@ -1402,9 +1402,13 @@ static void tcp_server(const char *name, int port)
} else {
j->http_state = HTTP_STATE_CLOSING;
if (r < 0) {
+ int ret;
check_alert(j->tls_session, r);
fprintf(stderr,
"Error while receiving data\n");
+ do {
+ ret = gnutls_alert_send_appropriate(j->tls_session, r);
+ } while (ret == GNUTLS_E_AGAIN || ret == GNUTLS_E_INTERRUPTED);
GERR(r);
}
}