1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-31 20:09:02 +00:00

Handle special case SSL_ERROR_ZERO_RETURN == close_notify/EOF

This commit is contained in:
dmiller
2023-07-31 17:18:31 +00:00
parent 6cdc9ea14b
commit 3be01efb1c

View File

@@ -308,9 +308,16 @@ int fdinfo_recv(struct fdinfo *fdn, char *buf, size_t size)
* should try the SSL_read again. */
err = (n <= 0) ? SSL_get_error(fdn->ssl, n) : SSL_ERROR_NONE;
} while (err == SSL_ERROR_WANT_READ || err == SSL_ERROR_WANT_WRITE);
if (err != SSL_ERROR_NONE) {
fdn->lasterr = err;
logdebug("SSL_read error on %d: %s\n", fdn->fd, ERR_error_string(err, NULL));
switch (err) {
case SSL_ERROR_NONE:
break;
case SSL_ERROR_ZERO_RETURN:
fdn->lasterr = EOF;
break;
default:
fdn->lasterr = err;
logdebug("SSL_read error on %d: %s\n", fdn->fd, ERR_error_string(err, NULL));
break;
}
return n;
}