From: Remi Gacogne Date: Fri, 3 Dec 2021 15:51:50 +0000 (+0100) Subject: rec: Handle "cannot happen" Async results by raising an exception X-Git-Tag: auth-4.7.0-alpha1~120^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d10c3054e526d06a372bac9a8493c1460e0a2bb5;p=thirdparty%2Fpdns.git rec: Handle "cannot happen" Async results by raising an exception --- diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index 3d4315d06a..3ae4df679d 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -497,6 +497,9 @@ LWResult::Result arecvtcp(PacketBuffer& data, const size_t len, shared_ptrtcpsock, "Done -> removeReadFD" << endl); t_fdm->removeReadFD(pid->tcpsock); break; + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } break; @@ -4434,6 +4440,9 @@ static void TCPIOHandlerStateChange(IOState oldstate, IOState newstate, std::sha TCPLOG(pid->tcpsock, "Done -> removeWriteFD" << endl); t_fdm->removeWriteFD(pid->tcpsock); break; + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } break; @@ -4449,8 +4458,15 @@ static void TCPIOHandlerStateChange(IOState oldstate, IOState newstate, std::sha break; case IOState::Done: break; + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } break; + + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } } @@ -4489,6 +4505,9 @@ static void TCPIOHandlerIO(int fd, FDMultiplexer::funcparam_t& var) break; case IOState::NeedWrite: break; + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } } catch (const std::exception& e) { @@ -4520,6 +4539,9 @@ static void TCPIOHandlerIO(int fd, FDMultiplexer::funcparam_t& var) case IOState::NeedWrite: TCPLOG(pid->tcpsock, "tryWrite: NeedWrite" << endl); break; + case IOState::Async: + throw std::runtime_error("TLS async mode not supported"); + break; } } catch (const std::exception& e) {