|
|
@ -128,8 +128,9 @@ namespace proxy
|
|
|
|
SOCKSHandler(SOCKSServer * parent, boost::asio::ip::tcp::socket * sock) :
|
|
|
|
SOCKSHandler(SOCKSServer * parent, boost::asio::ip::tcp::socket * sock) :
|
|
|
|
I2PServiceHandler(parent), m_sock(sock), m_stream(nullptr),
|
|
|
|
I2PServiceHandler(parent), m_sock(sock), m_stream(nullptr),
|
|
|
|
m_authchosen(AUTH_UNACCEPTABLE), m_addrtype(ADDR_IPV4)
|
|
|
|
m_authchosen(AUTH_UNACCEPTABLE), m_addrtype(ADDR_IPV4)
|
|
|
|
{ m_address.ip = 0; EnterState(GET_SOCKSV); AsyncSockRead(); }
|
|
|
|
{ m_address.ip = 0; EnterState(GET_SOCKSV); }
|
|
|
|
~SOCKSHandler() { Terminate(); }
|
|
|
|
~SOCKSHandler() { Terminate(); }
|
|
|
|
|
|
|
|
void Handle() { AsyncSockRead(); }
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
void SOCKSHandler::AsyncSockRead()
|
|
|
|
void SOCKSHandler::AsyncSockRead()
|
|
|
@ -538,7 +539,9 @@ namespace proxy
|
|
|
|
if (!ecode)
|
|
|
|
if (!ecode)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
LogPrint(eLogDebug,"--- SOCKS accepted");
|
|
|
|
LogPrint(eLogDebug,"--- SOCKS accepted");
|
|
|
|
AddHandler(std::make_shared<SOCKSHandler> (this, socket));
|
|
|
|
auto handle = std::make_shared<SOCKSHandler> (this, socket);
|
|
|
|
|
|
|
|
AddHandler(handle);
|
|
|
|
|
|
|
|
handle->Handle();
|
|
|
|
Accept();
|
|
|
|
Accept();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|