about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorheinrich5991 <heinrich5991@gmail.com>2011-04-21 22:42:47 +0200
committerheinrich5991 <heinrich5991@gmail.com>2011-04-21 22:42:47 +0200
commitfd3ec6f721f7c4a8c610cb1c92a778c992e757e8 (patch)
treebf85281b05aa37bac01b384bd40e2de37a75ddfb /src
parent8b62b051c8c5de5af8af3aa06981ce28f8c62420 (diff)
downloadzcatch-fd3ec6f721f7c4a8c610cb1c92a778c992e757e8.tar.gz
zcatch-fd3ec6f721f7c4a8c610cb1c92a778c992e757e8.zip
test/dbg
Diffstat (limited to 'src')
-rw-r--r--src/banmaster/banmaster.cpp17
-rw-r--r--src/engine/server/server.cpp18
-rw-r--r--src/engine/shared/config_variables.h2
-rw-r--r--src/engine/shared/network_server.cpp6
4 files changed, 30 insertions, 13 deletions
diff --git a/src/banmaster/banmaster.cpp b/src/banmaster/banmaster.cpp
index 8c7014ec..44490c1d 100644
--- a/src/banmaster/banmaster.cpp
+++ b/src/banmaster/banmaster.cpp
@@ -11,7 +11,7 @@ enum
 {
 	MAX_BANS=1024,
 	BAN_REREAD_TIME=300,
-	CFGFLAG_BANMASTER=16
+	CFGFLAG_BANMASTER=32
 };
 
 static const char BANMASTER_BANFILE[] = "bans.cfg";
@@ -216,16 +216,15 @@ int main(int argc, const char **argv) // ignore_convention
 		m_Net.Update();
 		
 		// process m_aPackets
-		CNetChunk p;
-		while(m_Net.Recv(&p))
+		CNetChunk Packet;
+		while(m_Net.Recv(&Packet))
 		{
 			char aAddressStr[NETADDR_MAXSTRSIZE];
-			net_addr_str(&p.m_Address, aAddressStr, sizeof(aAddressStr));
+			net_addr_str(&Packet.m_Address, aAddressStr, sizeof(aAddressStr));
 
-			if(p.m_DataSize >= sizeof(BANMASTER_IPCHECK) &&
-				mem_comp(p.m_pData, BANMASTER_IPCHECK, sizeof(BANMASTER_IPCHECK)) == 0)
+			if(Packet.m_DataSize >= sizeof(BANMASTER_IPCHECK) && mem_comp(Packet.m_pData, BANMASTER_IPCHECK, sizeof(BANMASTER_IPCHECK)) == 0)
 			{
-				char *pAddr = (char*)p.m_pData + sizeof(BANMASTER_IPCHECK);
+				char *pAddr = (char *)Packet.m_pData + sizeof(BANMASTER_IPCHECK);
 				NETADDR CheckAddr;
 				if(net_addr_from_str(&CheckAddr, pAddr))
 				{
@@ -235,13 +234,15 @@ int main(int argc, const char **argv) // ignore_convention
 				{
 					CheckAddr.port = 0;
 
-					int Banned = SendResponse(&p.m_Address, &CheckAddr);
+					int Banned = SendResponse(&Packet.m_Address, &CheckAddr);
 
 					char aBuf[NETADDR_MAXSTRSIZE];
 					net_addr_str(&CheckAddr, aBuf, sizeof(aBuf));
 					dbg_msg("banmaster", "responded to checkmsg, ip=%s checkaddr=%s result=%s", aAddressStr, aBuf, (Banned) ? "ban" : "ok");
 				}
 			}
+			else
+				dbg_msg("banmaster", "dropped weird packet, ip=%s content='%s'", aAddressStr, (char *)Packet.m_pData);
 		}
 		
 		if(time_get() - LastUpdate > time_freq() * BAN_REREAD_TIME)
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp
index d6bfba8b..b6128822 100644
--- a/src/engine/server/server.cpp
+++ b/src/engine/server/server.cpp
@@ -1034,10 +1034,20 @@ void CServer::PumpNetwork()
 				}*/
 
 				if(Packet.m_DataSize >= sizeof(BANMASTER_IPBAN) &&
-				  mem_comp(Packet.m_pData, BANMASTER_IPBAN, sizeof(BANMASTER_IPBAN)) == 0 &&
-				  g_Config.m_SvGlobalBantime &&
-				  m_NetServer.BanmasterCheck(&Packet.m_Address) != -1)
+				  mem_comp(Packet.m_pData, BANMASTER_IPBAN, sizeof(BANMASTER_IPBAN)) == 0)
 				{
+					dbg_msg("dbg", "a");
+
+					if(!g_Config.m_SvGlobalBantime)
+						return;
+					
+					dbg_msg("dbg", "b");
+					
+					if(m_NetServer.BanmasterCheck(&Packet.m_Address) == -1)
+						return;
+					
+					dbg_msg("dbg", "c");
+
 					CUnpacker Up;
 					char aIp[NETADDR_MAXSTRSIZE];
 					char aReason[256];
@@ -1157,7 +1167,7 @@ int CServer::Run()
 	}
 
 
-	if(!m_NetServer.Open(BindAddr, g_Config.m_SvMaxClients, g_Config.m_SvMaxClientsPerIP, 0));
+	if(!m_NetServer.Open(BindAddr, g_Config.m_SvMaxClients, g_Config.m_SvMaxClientsPerIP, 0))
 	{
 		dbg_msg("server", "couldn't open socket. port might already be in use");
 		return -1;
diff --git a/src/engine/shared/config_variables.h b/src/engine/shared/config_variables.h
index 5d34294d..a540bc8a 100644
--- a/src/engine/shared/config_variables.h
+++ b/src/engine/shared/config_variables.h
@@ -82,7 +82,7 @@ MACRO_CONFIG_INT(SvRegister, sv_register, 1, 0, 1, CFGFLAG_SERVER, "Register ser
 MACRO_CONFIG_STR(SvRconPassword, sv_rcon_password, 32, "", CFGFLAG_SERVER, "Remote console password")
 MACRO_CONFIG_INT(SvRconMaxTries, sv_rcon_max_tries, 3, 0, 100, CFGFLAG_SERVER, "Maximum number of tries for remote console authentication")
 MACRO_CONFIG_INT(SvRconBantime, sv_rcon_bantime, 5, 0, 1440, CFGFLAG_SERVER, "The time a client gets banned if remote console authentication fails. 0 makes it just use kick")
-MACRO_CONFIG_INT(SvGlobalBantime, sv_global_ban_time, 60, 0, 1440, CFGFLAG_SERVER, "The time a client gets banned if the ban server reports it. 0 to disable")
+MACRO_CONFIG_INT(SvGlobalBantime, sv_global_bantime, 60, 0, 1440, CFGFLAG_SERVER, "The time a client gets banned if the ban server reports it. 0 to disable")
 
 MACRO_CONFIG_INT(Debug, debug, 0, 0, 1, CFGFLAG_CLIENT|CFGFLAG_SERVER, "Debug mode")
 MACRO_CONFIG_INT(DbgStress, dbg_stress, 0, 0, 0, CFGFLAG_CLIENT|CFGFLAG_SERVER, "Stress systems")
diff --git a/src/engine/shared/network_server.cpp b/src/engine/shared/network_server.cpp
index 21da1e36..9efd406e 100644
--- a/src/engine/shared/network_server.cpp
+++ b/src/engine/shared/network_server.cpp
@@ -349,10 +349,12 @@ int CNetServer::Recv(CNetChunk *pChunk)
 							break;
 						}
 					}
+					dbg_msg("wtf", ".");
 
 					// client that wants to connect
 					if(!Found)
 					{
+						dbg_msg("wtf", ",");
 						CNetChunk Packet;
 						char aBuffer[sizeof(BANMASTER_IPCHECK) + NETADDR_MAXSTRSIZE];
 						mem_copy(aBuffer, BANMASTER_IPCHECK, sizeof(BANMASTER_IPCHECK));
@@ -362,9 +364,13 @@ int CNetServer::Recv(CNetChunk *pChunk)
 						Packet.m_Flags = NETSENDFLAG_CONNLESS;
 						Packet.m_DataSize = str_length(aBuffer) + 1;
 						Packet.m_pData = aBuffer;
+						dbg_msg("dbg", ",");
 
 						for(int i = 0; i < m_NumBanmasters; i++)
 						{
+							char aBufdbg[NETADDR_MAXSTRSIZE];
+							net_addr_str(&m_aBanmasters[i], aBufdbg, sizeof(aBufdbg));
+							dbg_msg("dbg", "%s", aBufdbg);
 							Packet.m_Address = m_aBanmasters[i];
 							Send(&Packet);
 						}