Changeset - r17591:c2a7b2b05a8a
[Not reviewed]
master
0 4 0
rubidium - 13 years ago 2011-04-22 15:59:32
rubidium@openttd.org
(svn r22365) -Codechange: add overload of NetworkServerKickOrBanIP using the ClientID, which later resolves the IP address to ban. This to consolidate the knowledge about resolving IP addresses
4 files changed with 11 insertions and 4 deletions:
0 comments (0 inline, 0 general)
src/console_cmds.cpp
Show inline comments
 
@@ -490,7 +490,7 @@ DEF_CONSOLE_CMD(ConClearBuffer)
 

	
 
static bool ConKickOrBan(const char *argv, bool ban)
 
{
 
	const char *ip = argv;
 
	uint n;
 

	
 
	if (strchr(argv, '.') == NULL && strchr(argv, ':') == NULL) { // banning with ID
 
		ClientID client_id = (ClientID)atoi(argv);
 
@@ -513,10 +513,11 @@ static bool ConKickOrBan(const char *arg
 
		}
 

	
 
		/* When banning, kick+ban all clients with that IP */
 
		ip = GetClientIP(ci);
 
		n = NetworkServerKickOrBanIP(client_id, ban);
 
	} else {
 
		n = NetworkServerKickOrBanIP(argv, ban);
 
	}
 

	
 
	uint n = NetworkServerKickOrBanIP(ip, ban);
 
	if (n == 0) {
 
		IConsolePrint(CC_DEFAULT, ban ? "Client not online, address added to banlist" : "Client not found");
 
	} else {
src/network/network_func.h
Show inline comments
 
@@ -75,6 +75,7 @@ void NetworkServerSendRcon(ClientID clie
 
void NetworkServerSendChat(NetworkAction action, DestType type, int dest, const char *msg, ClientID from_id, int64 data = 0, bool from_admin = false);
 

	
 
void NetworkServerKickClient(ClientID client_id);
 
uint NetworkServerKickOrBanIP(ClientID client_id, bool ban);
 
uint NetworkServerKickOrBanIP(const char *ip, bool ban);
 

	
 
void NetworkInitChatMessage();
src/network/network_gui.cpp
Show inline comments
 
@@ -1717,7 +1717,7 @@ static void ClientList_Kick(const Networ
 

	
 
static void ClientList_Ban(const NetworkClientInfo *ci)
 
{
 
	NetworkServerKickOrBanIP(GetClientIP(const_cast<NetworkClientInfo *>(ci)), true);
 
	NetworkServerKickOrBanIP(ci->client_id, true);
 
}
 

	
 
static void ClientList_GiveMoney(const NetworkClientInfo *ci)
src/network/network_server.cpp
Show inline comments
 
@@ -1919,6 +1919,11 @@ void NetworkServerKickClient(ClientID cl
 
	NetworkServerSendError(client_id, NETWORK_ERROR_KICKED);
 
}
 

	
 
uint NetworkServerKickOrBanIP(ClientID client_id, bool ban)
 
{
 
	return NetworkServerKickOrBanIP(GetClientIP(NetworkClientInfo::GetByClientID(client_id)), ban);
 
}
 

	
 
uint NetworkServerKickOrBanIP(const char *ip, bool ban)
 
{
 
	/* Add address to ban-list */
0 comments (0 inline, 0 general)