diff options
| author | Teetime <TeetimeTW@yahoo.de> | 2012-02-19 13:40:35 +0100 |
|---|---|---|
| committer | Teetime <TeetimeTW@yahoo.de> | 2012-02-19 13:40:35 +0100 |
| commit | 5c855545dd72bbfc24e390d5327b768ecfb8d212 (patch) | |
| tree | ecdfbac1334815beb2ee68b0f00ddf1a3ff15718 /src/engine/server | |
| parent | cf4189d4d2ed5978769c9c3e45ae9346d4a796b5 (diff) | |
| download | zcatch-5c855545dd72bbfc24e390d5327b768ecfb8d212.tar.gz zcatch-5c855545dd72bbfc24e390d5327b768ecfb8d212.zip | |
fix that server sends bans correctly to banmasters
Diffstat (limited to 'src/engine/server')
| -rw-r--r-- | src/engine/server/server.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
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)) |