From c353daeb8584e6395931264bf7b0c9c006f5172e Mon Sep 17 00:00:00 2001 From: SChernykh <15806605+SChernykh@users.noreply.github.com> Date: Wed, 11 Jun 2025 20:14:35 +0200 Subject: [PATCH] TCPServer: fixed SOCKS5 error checking logic --- src/tcp_server.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tcp_server.cpp b/src/tcp_server.cpp index 3a892e9..4e420a6 100644 --- a/src/tcp_server.cpp +++ b/src/tcp_server.cpp @@ -1148,7 +1148,7 @@ bool TCPServer::Client::on_proxy_handshake(const char* data, uint32_t size) switch (m_socks5ProxyState) { case Socks5ProxyState::MethodSelectionSent: if (m_numRead >= 2) { - if ((m_readBuf[0] != 5) && (m_readBuf[1] != 0)) { + if ((m_readBuf[0] != 5) || (m_readBuf[1] != 0)) { LOGWARN(5, "SOCKS5 proxy returned an invalid METHOD selection message"); return false; } @@ -1192,7 +1192,7 @@ bool TCPServer::Client::on_proxy_handshake(const char* data, uint32_t size) case Socks5ProxyState::ConnectRequestSent: if (m_numRead >= 4) { const uint8_t* p = reinterpret_cast(m_readBuf); - if ((p[0] != 5) && (p[1] != 0) && p[2] != 0) { + if ((p[0] != 5) || (p[1] != 0) || p[2] != 0) { LOGWARN(5, "SOCKS5 proxy returned an invalid reply to CONNECT"); return false; }