diff --git a/src/local.c b/src/local.c index 3a9935b5..5a10fd46 100644 --- a/src/local.c +++ b/src/local.c @@ -581,6 +581,8 @@ server_recv_cb(EV_P_ ev_io *w, int revents) } } + server->stage = STAGE_PARSE; + char host[257], ip[INET6_ADDRSTRLEN], port[16]; buffer_t *abuf = server->abuf; @@ -660,7 +662,6 @@ server_recv_cb(EV_P_ ev_io *w, int revents) ret = tls_protocol->parse_packet(buf->data + 3 + abuf->len, buf->len - 3 - abuf->len, &hostname); if (ret == -1 && buf->len < BUF_SIZE) { - server->stage = STAGE_PARSE; return; } else if (ret > 0) { sni_detected = 1;