]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
gnutls-serv: send alert when wrong data have been received from client
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Fri, 15 May 2015 10:02:56 +0000 (12:02 +0200)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Fri, 15 May 2015 10:02:56 +0000 (12:02 +0200)
src/serv.c

index f29b0d85709686e29768c0f136713a3308ba7393..9a4d48099b3ce1ff831fd9ac4a4aa24e92f2d55f 100644 (file)
@@ -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);
                                                        }
                                                }