Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
This commit is contained in:
commit
5a8e79528f
18 files changed
+595
-44
No files matched your search
@@ -32,7 +32,7 @@ using boost::asio::ip::tcp;
|
||||
using boost::asio::streambuf;
|
||||
|
||||
WorldSocket::WorldSocket(tcp::socket&& socket)
|
||||
: _socket(std::move(socket)), _authSeed(static_cast<uint32>(rand32())), _OverSpeedPings(0), _worldSession(nullptr)
|
||||
: _socket(std::move(socket)), _authSeed(rand32()), _OverSpeedPings(0), _worldSession(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -83,8 +83,7 @@ void WorldSocket::AsyncReadHeader()
|
||||
else
|
||||
{
|
||||
// _socket.is_open() till returns true even after calling close()
|
||||
boost::system::error_code socketError;
|
||||
_socket.close(socketError);
|
||||
CloseSocket();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -190,8 +189,7 @@ void WorldSocket::AsyncReadData(size_t dataSize)
|
||||
else
|
||||
{
|
||||
// _socket.is_open() till returns true even after calling close()
|
||||
boost::system::error_code socketError;
|
||||
_socket.close(socketError);
|
||||
CloseSocket();
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -245,7 +243,7 @@ void WorldSocket::AsyncWrite(std::vector<uint8> const& data)
|
||||
AsyncWrite(_writeQueue.front());
|
||||
}
|
||||
else
|
||||
_socket.close();
|
||||
CloseSocket();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -554,7 +552,7 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket)
|
||||
TC_LOG_ERROR("network", "WorldSocket::HandlePing: %s kicked for over-speed pings (address: %s)",
|
||||
_worldSession->GetPlayerInfo().c_str(), GetRemoteIpAddress().c_str());
|
||||
|
||||
_socket.close();
|
||||
CloseSocket();
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -573,7 +571,7 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket)
|
||||
TC_LOG_ERROR("network", "WorldSocket::HandlePing: peer sent CMSG_PING, but is not authenticated or got recently kicked, address = %s",
|
||||
GetRemoteIpAddress().c_str());
|
||||
|
||||
_socket.close();
|
||||
CloseSocket();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -581,3 +579,13 @@ void WorldSocket::HandlePing(WorldPacket& recvPacket)
|
||||
packet << ping;
|
||||
return AsyncWrite(packet);
|
||||
}
|
||||
|
||||
void WorldSocket::CloseSocket()
|
||||
{
|
||||
boost::system::error_code socketError;
|
||||
_socket.close(socketError);
|
||||
if (socketError)
|
||||
TC_LOG_DEBUG("network", "WorldSocket::CloseSocket: Player '%s' (%s) errored when closing socket: %i (%s)",
|
||||
_worldSession ? _worldSession->GetPlayerInfo().c_str() : "unknown", GetRemoteIpAddress().c_str(),
|
||||
socketError.value(), socketError.message());
|
||||
}
|
||||
Reference in new issue
Block a user