Protocol 25: wstring -> string for custom access denial reasons

Also fix std::logic_error when server::DenyAccess() is used with only two arguments.
stable-0.4
est31 2015-04-22 14:10:39 +02:00
parent eec01bc2fa
commit ccc09abc2d
4 changed files with 6 additions and 8 deletions

View File

@ -149,9 +149,7 @@ void Client::handleCommand_AccessDenied(NetworkPacket* pkt)
u8 denyCode = SERVER_ACCESSDENIED_UNEXPECTED_DATA;
*pkt >> denyCode;
if (denyCode == SERVER_ACCESSDENIED_CUSTOM_STRING) {
std::wstring wide_reason;
*pkt >> wide_reason;
m_access_denied_reason = wide_to_narrow(wide_reason);
*pkt >> m_access_denied_reason;
}
else if (denyCode < SERVER_ACCESSDENIED_MAX) {
m_access_denied_reason = accessDeniedStrings[denyCode];

View File

@ -217,7 +217,7 @@ void Server::handleCommand_Auth(NetworkPacket* pkt)
<< "but it was disallowed for the following reason: "
<< reason << std::endl;
DenyAccess(pkt->getPeerId(), SERVER_ACCESSDENIED_CUSTOM_STRING,
narrow_to_wide(reason.c_str()));
reason.c_str());
return;
}
}

View File

@ -1490,7 +1490,7 @@ void Server::SendBreath(u16 peer_id, u16 breath)
Send(&pkt);
}
void Server::SendAccessDenied(u16 peer_id, AccessDeniedCode reason, const std::wstring &custom_reason)
void Server::SendAccessDenied(u16 peer_id, AccessDeniedCode reason, const std::string &custom_reason)
{
DSTACK(__FUNCTION_NAME);
@ -2535,7 +2535,7 @@ void Server::RespawnPlayer(u16 peer_id)
}
}
void Server::DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::wstring &custom_reason)
void Server::DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::string &custom_reason)
{
DSTACK(__FUNCTION_NAME);

View File

@ -360,7 +360,7 @@ public:
void peerAdded(con::Peer *peer);
void deletingPeer(con::Peer *peer, bool timeout);
void DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::wstring &custom_reason=NULL);
void DenyAccess(u16 peer_id, AccessDeniedCode reason, const std::string &custom_reason="");
void DenyAccess_Legacy(u16 peer_id, const std::wstring &reason);
bool getClientConInfo(u16 peer_id, con::rtt_stat_type type,float* retval);
bool getClientInfo(u16 peer_id,ClientState* state, u32* uptime,
@ -383,7 +383,7 @@ private:
void SendMovement(u16 peer_id);
void SendHP(u16 peer_id, u8 hp);
void SendBreath(u16 peer_id, u16 breath);
void SendAccessDenied(u16 peer_id, AccessDeniedCode reason, const std::wstring &custom_reason);
void SendAccessDenied(u16 peer_id, AccessDeniedCode reason, const std::string &custom_reason);
void SendAccessDenied_Legacy(u16 peer_id, const std::wstring &reason);
void SendDeathscreen(u16 peer_id,bool set_camera_point_target, v3f camera_point_target);
void SendItemDef(u16 peer_id,IItemDefManager *itemdef, u16 protocol_version);