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

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

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

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

@ -1490,7 +1490,7 @@ void Server::SendBreath(u16 peer_id, u16 breath)
Send(&pkt); 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); 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); DSTACK(__FUNCTION_NAME);

@ -360,7 +360,7 @@ public:
void peerAdded(con::Peer *peer); void peerAdded(con::Peer *peer);
void deletingPeer(con::Peer *peer, bool timeout); 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); void DenyAccess_Legacy(u16 peer_id, const std::wstring &reason);
bool getClientConInfo(u16 peer_id, con::rtt_stat_type type,float* retval); bool getClientConInfo(u16 peer_id, con::rtt_stat_type type,float* retval);
bool getClientInfo(u16 peer_id,ClientState* state, u32* uptime, bool getClientInfo(u16 peer_id,ClientState* state, u32* uptime,
@ -383,7 +383,7 @@ private:
void SendMovement(u16 peer_id); void SendMovement(u16 peer_id);
void SendHP(u16 peer_id, u8 hp); void SendHP(u16 peer_id, u8 hp);
void SendBreath(u16 peer_id, u16 breath); 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 SendAccessDenied_Legacy(u16 peer_id, const std::wstring &reason);
void SendDeathscreen(u16 peer_id,bool set_camera_point_target, v3f camera_point_target); void SendDeathscreen(u16 peer_id,bool set_camera_point_target, v3f camera_point_target);
void SendItemDef(u16 peer_id,IItemDefManager *itemdef, u16 protocol_version); void SendItemDef(u16 peer_id,IItemDefManager *itemdef, u16 protocol_version);