1
0
mirror of https://github.com/GOSTSec/poolserver synced 2025-01-15 01:00:10 +00:00

Fix crash in client accept

This commit is contained in:
Intel 2014-05-11 12:47:33 -04:00
parent 41e73f3d94
commit 317e3af89b

View File

@ -12,21 +12,26 @@ namespace Stratum
{ {
bool Client::Start() bool Client::Start()
{ {
// Get IP try {
tcp::endpoint remote_ep = _socket.remote_endpoint(); // Get IP
address remote_ad = remote_ep.address(); tcp::endpoint remote_ep = _socket.remote_endpoint();
_ip = remote_ad.to_v4().to_ulong(); address remote_ad = remote_ep.address();
_ip = remote_ad.to_v4().to_ulong();
if (_server->IsBanned(_ip)) { if (_server->IsBanned(_ip)) {
sLog.Warn(LOG_STRATUM, "Blocked banned client from: %s", remote_ad.to_v4().to_string().c_str()); sLog.Warn(LOG_STRATUM, "Blocked banned client from: %s", remote_ad.to_v4().to_string().c_str());
Disconnect(); Disconnect();
return false; return false;
} }
// Start reading socket // Start reading socket
StartRead(); StartRead();
} catch (std::exception& e) {
sLog.Error(LOG_SERVER, "Exception caught while accepting client: %s", e.what());
return false;
}
return true; return true;
} }
void Client::SendJob(bool clean) void Client::SendJob(bool clean)