File diff r25568:66d9ae4f04a1 → r25569:ae23e84953e3
src/network/network_server.cpp
Show inline comments
 
@@ -429,12 +429,12 @@ NetworkRecvStatus ServerNetworkGameSocke
 
 * @param error The error to disconnect for.
 
 * @param reason In case of kicking a client, specifies the reason for kicking the client.
 
 */
 
NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode error, const char *reason)
 
NetworkRecvStatus ServerNetworkGameSocketHandler::SendError(NetworkErrorCode error, const std::string &reason)
 
{
 
	Packet *p = new Packet(PACKET_SERVER_ERROR);
 

	
 
	p->Send_uint8(error);
 
	if (reason != nullptr) p->Send_string(reason);
 
	if (!reason.empty()) p->Send_string(reason);
 
	this->SendPacket(p);
 

	
 
	StringID strid = GetNetworkErrorMsg(error);
 
@@ -447,7 +447,7 @@ NetworkRecvStatus ServerNetworkGameSocke
 

	
 
		DEBUG(net, 1, "'%s' made an error and has been disconnected: %s", client_name, GetString(strid).c_str());
 

	
 
		if (error == NETWORK_ERROR_KICKED && reason != nullptr) {
 
		if (error == NETWORK_ERROR_KICKED && !reason.empty()) {
 
			NetworkTextMessage(NETWORK_ACTION_KICKED, CC_DEFAULT, false, client_name, reason, strid);
 
		} else {
 
			NetworkTextMessage(NETWORK_ACTION_LEAVE, CC_DEFAULT, false, client_name, "", strid);
 
@@ -2054,7 +2054,7 @@ void NetworkServerSendRcon(ClientID clie
 
 * @param client_id The client to kick.
 
 * @param reason In case of kicking a client, specifies the reason for kicking the client.
 
 */
 
void NetworkServerKickClient(ClientID client_id, const char *reason)
 
void NetworkServerKickClient(ClientID client_id, const std::string &reason)
 
{
 
	if (client_id == CLIENT_ID_SERVER) return;
 
	NetworkClientSocket::GetByClientID(client_id)->SendError(NETWORK_ERROR_KICKED, reason);
 
@@ -2066,7 +2066,7 @@ void NetworkServerKickClient(ClientID cl
 
 * @param ban Whether to ban or kick.
 
 * @param reason In case of kicking a client, specifies the reason for kicking the client.
 
 */
 
uint NetworkServerKickOrBanIP(ClientID client_id, bool ban, const char *reason)
 
uint NetworkServerKickOrBanIP(ClientID client_id, bool ban, const std::string &reason)
 
{
 
	return NetworkServerKickOrBanIP(NetworkClientSocket::GetByClientID(client_id)->GetClientIP(), ban, reason);
 
}
 
@@ -2077,7 +2077,7 @@ uint NetworkServerKickOrBanIP(ClientID c
 
 * @param ban Whether to ban or just kick.
 
 * @param reason In case of kicking a client, specifies the reason for kicking the client.
 
 */
 
uint NetworkServerKickOrBanIP(const char *ip, bool ban, const char *reason)
 
uint NetworkServerKickOrBanIP(const std::string &ip, bool ban, const std::string &reason)
 
{
 
	/* Add address to ban-list */
 
	if (ban) {
 
@@ -2101,7 +2101,7 @@ uint NetworkServerKickOrBanIP(const char
 
	for (NetworkClientSocket *cs : NetworkClientSocket::Iterate()) {
 
		if (cs->client_id == CLIENT_ID_SERVER) continue;
 
		if (cs->client_id == _redirect_console_to_client) continue;
 
		if (cs->client_address.IsInNetmask(ip)) {
 
		if (cs->client_address.IsInNetmask(ip.c_str())) {
 
			NetworkServerKickClient(cs->client_id, reason);
 
			n++;
 
		}