diff --git a/Redirector/DNSHandler.cpp b/Redirector/DNSHandler.cpp index 4147fcad..35d432bf 100644 --- a/Redirector/DNSHandler.cpp +++ b/Redirector/DNSHandler.cpp @@ -38,10 +38,10 @@ void ProcessPacket(ENDPOINT_ID id, SOCKADDR_IN6 target, char* packet, int length delete[] option; } -bool DNSHandler::Init() +bool DNSHandler::INIT() { - memset(&dnsAddr, 0, sizeof(SOCKADDR_IN6)); - + memset(&dnsAddr, 0, sizeof(dnsAddr)); + auto ipv4 = (PSOCKADDR_IN)&dnsAddr; if (inet_pton(AF_INET, dnsHost.c_str(), &ipv4->sin_addr) == 1) { @@ -50,14 +50,15 @@ bool DNSHandler::Init() return true; } - if (inet_pton(AF_INET6, dnsHost.c_str(), &dnsAddr.sin6_addr) == 1) + auto ipv6 = (PSOCKADDR_IN6)&dnsAddr; + if (inet_pton(AF_INET6, dnsHost.c_str(), &ipv6->sin6_addr) == 1) { - dnsAddr.sin6_family = AF_INET6; - dnsAddr.sin6_port = htons(dnsPort); + ipv6->sin6_family = AF_INET6; + ipv6->sin6_port = htons(dnsPort); return true; } - puts("[Redirector][DNSHandler::Init] Call WSAStringToAddress failed"); + printf("[Redirector][DNSHandler::Init] Convert string to address failed: %d\n", WSAGetLastError()); return false; } diff --git a/Redirector/DNSHandler.h b/Redirector/DNSHandler.h index 213cdec1..e7548052 100644 --- a/Redirector/DNSHandler.h +++ b/Redirector/DNSHandler.h @@ -6,7 +6,7 @@ namespace DNSHandler { - bool Init(); + bool INIT(); bool IsDNS(PSOCKADDR_IN6 target); diff --git a/Redirector/EventHandler.cpp b/Redirector/EventHandler.cpp index d78721f8..d5ce8651 100644 --- a/Redirector/EventHandler.cpp +++ b/Redirector/EventHandler.cpp @@ -141,7 +141,7 @@ bool eh_init() { CurrentID = GetCurrentProcessId(); - if (!DNSHandler::Init()) + if (!DNSHandler::INIT()) { return false; } diff --git a/Redirector/TCPHandler.cpp b/Redirector/TCPHandler.cpp index e138ccb3..f45a3acd 100644 --- a/Redirector/TCPHandler.cpp +++ b/Redirector/TCPHandler.cpp @@ -6,7 +6,7 @@ USHORT tcpListen = 0; mutex tcpLock; map tcpContext; -bool TCPHandler::Init() +bool TCPHandler::INIT() { auto lg = lock_guard(tcpLock); @@ -75,13 +75,14 @@ bool TCPHandler::Init() return true; } -void TCPHandler::Free() +void TCPHandler::FREE() { auto lg = lock_guard(tcpLock); if (tcpSocket != INVALID_SOCKET) { closesocket(tcpSocket); + tcpSocket = INVALID_SOCKET; } tcpListen = 0; diff --git a/Redirector/TCPHandler.h b/Redirector/TCPHandler.h index 8c122441..f59ae535 100644 --- a/Redirector/TCPHandler.h +++ b/Redirector/TCPHandler.h @@ -6,8 +6,8 @@ namespace TCPHandler { - bool Init(); - void Free(); + bool INIT(); + void FREE(); void CreateHandler(SOCKADDR_IN6 client, SOCKADDR_IN6 remote); void DeleteHandler(SOCKADDR_IN6 client);