nghttpx: Write TLS alert during handshake

This commit is contained in:
Tatsuhiro Tsujikawa 2018-09-23 18:01:38 +09:00
parent 4aac05e193
commit a42faf1cc2
1 changed files with 10 additions and 1 deletions

View File

@ -461,12 +461,21 @@ int Connection::tls_handshake() {
break; break;
case SSL_ERROR_WANT_WRITE: case SSL_ERROR_WANT_WRITE:
break; break;
case SSL_ERROR_SSL: case SSL_ERROR_SSL: {
if (LOG_ENABLED(INFO)) { if (LOG_ENABLED(INFO)) {
LOG(INFO) << "tls: handshake libssl error: " LOG(INFO) << "tls: handshake libssl error: "
<< ERR_error_string(ERR_get_error(), nullptr); << ERR_error_string(ERR_get_error(), nullptr);
} }
struct iovec iov;
auto iovcnt = tls.wbuf.riovec(&iov, 1);
auto nwrite = writev_clear(&iov, iovcnt);
if (nwrite > 0) {
tls.wbuf.drain(nwrite);
}
return SHRPX_ERR_NETWORK; return SHRPX_ERR_NETWORK;
}
default: default:
if (LOG_ENABLED(INFO)) { if (LOG_ENABLED(INFO)) {
LOG(INFO) << "tls: handshake libssl error " << err; LOG(INFO) << "tls: handshake libssl error " << err;