From d10c3054e526d06a372bac9a8493c1460e0a2bb5 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 3 Dec 2021 16:51:50 +0100 Subject: [PATCH] rec: Handle "cannot happen" Async results by raising an exception --- pdns/pdns_recursor.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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) { -- 2.47.2