diff options
Diffstat (limited to 'src/net_dot.c')
-rw-r--r-- | src/net_dot.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/net_dot.c b/src/net_dot.c index 7e58a73..02b54e4 100644 --- a/src/net_dot.c +++ b/src/net_dot.c @@ -175,6 +175,11 @@ static ssize_t perf__dot_recv(struct perf_net_socket* sock, void* buf, size_t le case SSL_ERROR_WANT_READ: errno = EAGAIN; break; +#if OPENSSL_VERSION_NUMBER > 0x30000000L + case SSL_ERROR_SSL: + // OpenSSL 3.0+ returns this on EOF, treat everything as bad fd and reconnect + errno = EBADF; +#endif case SSL_ERROR_SYSCALL: switch (errno) { case EBADF: |