Skip to content
Permalink
Browse files
Protocol 25: wstring -> string for custom access denial reasons
Also fix std::logic_error when server::DenyAccess() is used with only two arguments.
  • Loading branch information
est31 committed Apr 22, 2015
1 parent eec01bc commit ccc09abc2d4a712c17de833d52cb5aa91b7bf980
Show file tree
Hide file tree
Showing 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;
*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];
@@ -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;
}
}
@@ -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);

@@ -360,7 +360,7 @@ class Server : public con::PeerHandler, public MapEventReceiver,
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 @@ class Server : public con::PeerHandler, public MapEventReceiver,
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);

0 comments on commit ccc09ab

Please sign in to comment.