From 5c855545dd72bbfc24e390d5327b768ecfb8d212 Mon Sep 17 00:00:00 2001 From: Teetime Date: Sun, 19 Feb 2012 13:40:35 +0100 Subject: fix that server sends bans correctly to banmasters --- src/engine/server/server.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'src/engine/server/server.cpp') diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index e1d09d9c..c01095f9 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -287,17 +287,22 @@ void CServerBan::ConBanExt(IConsole::IResult *pResult, void *pUser) net_addr_str(pThis->Server()->m_NetServer.ClientAddr(CID), aIP, sizeof(aIP), 0); CPacker P; + P.Reset(); P.AddRaw(BANMASTER_IPREPORT, sizeof(BANMASTER_IPREPORT)); - P.AddString(pThis->Server()->ClientName(CID), MAX_NAME_LENGTH); - P.AddString(aIP, sizeof(aIP)); - P.AddString(pReason, str_length(pReason)); - - CNetChunk Packet; - Packet.m_ClientID = -1; - Packet.m_Flags = NETSENDFLAG_CONNLESS; - Packet.m_pData = P.Data(); - Packet.m_DataSize = P.Size(); - pThis->Server()->m_NetServer.SendToBanmasters(&Packet); + P.AddString(pThis->Server()->ClientName(CID), -1); + P.AddString(aIP, -1); + P.AddString(pReason, -1); + + if(!P.Error()) + { + CNetChunk Packet; + Packet.m_ClientID = -1; + Packet.m_Flags = NETSENDFLAG_CONNLESS; + Packet.m_pData = P.Data(); + Packet.m_DataSize = P.Size(); + pThis->Server()->m_NetServer.SendToBanmasters(&Packet); + pThis->Console()->Print(IConsole::OUTPUT_LEVEL_DEBUG, "banmaster", "Reported ban to banmasters"); + } } if(StrAllnum(pStr)) -- cgit 1.4.1