limted guest login - guest playerrights check done
This commit is contained in:
@@ -1008,9 +1008,9 @@ ServerLobbyThread::HandleNetPacketInit(boost::shared_ptr<SessionData> session, c
|
|||||||
LOG_VERBOSE("Received init for session #" << session->GetId() << ".");
|
LOG_VERBOSE("Received init for session #" << session->GetId() << ".");
|
||||||
|
|
||||||
// @XXX: debug tests
|
// @XXX: debug tests
|
||||||
if(m_sessionManager.IsGuestConnectedMultiple(session->GetClientAddr())){
|
//if(m_sessionManager.IsGuestConnectedMultiple(session->GetClientAddr())){
|
||||||
LOG_ERROR("Guest with IP " << session->GetClientAddr() << " already connected! Should be declined!");
|
// LOG_ERROR("Guest with IP " << session->GetClientAddr() << " already connected! Should be declined!");
|
||||||
}
|
//}
|
||||||
// @XXX: end debug tests
|
// @XXX: end debug tests
|
||||||
|
|
||||||
// Before any other processing, perform some denial of service and
|
// Before any other processing, perform some denial of service and
|
||||||
@@ -1065,7 +1065,7 @@ ServerLobbyThread::HandleNetPacketInit(boost::shared_ptr<SessionData> session, c
|
|||||||
}
|
}
|
||||||
// @XXX: check if a guest session with same ip is already connected - decline if true
|
// @XXX: check if a guest session with same ip is already connected - decline if true
|
||||||
if(m_sessionManager.IsGuestConnectedMultiple(session->GetClientAddr())){
|
if(m_sessionManager.IsGuestConnectedMultiple(session->GetClientAddr())){
|
||||||
LOG_ERROR("Guest with IP " << session->GetClientAddr() << " already connected! Decline!");
|
//LOG_ERROR("Guest with IP " << session->GetClientAddr() << " already connected! Decline!");
|
||||||
validGuest = false;
|
validGuest = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -256,19 +256,18 @@ SessionManager::IsGuestConnectedMultiple(const std::string &clientAddress) const
|
|||||||
SessionMap::const_iterator i = m_sessionMap.begin();
|
SessionMap::const_iterator i = m_sessionMap.begin();
|
||||||
SessionMap::const_iterator end = m_sessionMap.end();
|
SessionMap::const_iterator end = m_sessionMap.end();
|
||||||
|
|
||||||
int j = 0;
|
|
||||||
|
|
||||||
while (i != end) {
|
while (i != end) {
|
||||||
// @XXX: comparing PlayerRights does not yet work (e.g. throws an exception)
|
boost::shared_ptr<PlayerData> tmpPlayer(i->second->GetPlayerData());
|
||||||
//if ((*i).second->GetClientAddr() == clientAddress && (*i).second->GetPlayerData()->GetRights() == PLAYER_RIGHTS_GUEST) {
|
// @XXX: productive:
|
||||||
if ((*i).second->GetClientAddr() == clientAddress) {
|
//if(tmpPlayer && tmpPlayer->GetRights() == PLAYER_RIGHTS_GUEST && i->second->GetClientAddr() == clientAddress){
|
||||||
j++;
|
// @XXX: debug:
|
||||||
}
|
// if(tmpPlayer && tmpPlayer->GetRights() == PLAYER_RIGHTS_NORMAL && i->second->GetClientAddr() == clientAddress){
|
||||||
|
if(tmpPlayer && tmpPlayer->GetRights() == PLAYER_RIGHTS_GUEST && i->second->GetClientAddr() == clientAddress){
|
||||||
|
retVal = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
if (j > 1) {
|
|
||||||
retVal = true;
|
|
||||||
}
|
|
||||||
return retVal;
|
return retVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user