about summary refs log tree commit diff
path: root/src/engine/server/register.cpp
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2010-07-05 20:46:32 +0200
committerMagnus Auvinen <magnus.auvinen@gmail.com>2010-07-05 20:46:32 +0200
commitd302ba921e61177da9af1f85df58fe6f47ca5e95 (patch)
tree4ac19b9caab0a7142b6dfbc05d234af152bd5407 /src/engine/server/register.cpp
parent143af11a25bc4a944c3605b9a165ffd2f1970641 (diff)
parentbd02c2043e9f76ec47ee9ac35caf23ae294b1dfa (diff)
downloadzcatch-d302ba921e61177da9af1f85df58fe6f47ca5e95.tar.gz
zcatch-d302ba921e61177da9af1f85df58fe6f47ca5e95.zip
Merge branch 'master' of github.com:matricks/teeworlds
Diffstat (limited to 'src/engine/server/register.cpp')
-rw-r--r--src/engine/server/register.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/engine/server/register.cpp b/src/engine/server/register.cpp
index 959b9288..5e49f499 100644
--- a/src/engine/server/register.cpp
+++ b/src/engine/server/register.cpp
@@ -231,6 +231,23 @@ void CRegister::RegisterUpdate()
 
 int CRegister::RegisterProcessPacket(CNetChunk *pPacket)
 {
+	// check for masterserver address
+	bool Valid = false;
+	NETADDR Addr1 = pPacket->m_Address;
+	Addr1.port = 0;
+	for(int i = 0; i < IMasterServer::MAX_MASTERSERVERS; i++)
+	{
+		NETADDR Addr2 = m_aMasterserverInfo[i].m_Addr;
+		Addr2.port = 0;
+		if(net_addr_comp(&Addr1, &Addr2) == 0)
+		{
+			Valid = true;
+			break;
+		}
+	}
+	if(!Valid)
+		return 0;
+			
 	if(pPacket->m_DataSize == sizeof(SERVERBROWSE_FWCHECK) &&
 		mem_comp(pPacket->m_pData, SERVERBROWSE_FWCHECK, sizeof(SERVERBROWSE_FWCHECK)) == 0)
 	{