|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <Warden.h>
Public Member Functions | |
| void | DecryptData (uint8 *buffer, uint32 length) |
| void | EncryptData (uint8 *buffer, uint32 length) |
| virtual ClientWardenModule * | GetModuleForClient ()=0 |
| virtual void | HandleData (ByteBuffer &buff)=0 |
| virtual void | HandleHashResult (ByteBuffer &buff)=0 |
| virtual void | Init (WorldSession *session, SessionKey const &k)=0 |
| virtual void | InitializeModule ()=0 |
| std::string | Penalty (WardenCheck *check=NULL) |
| virtual void | RequestData ()=0 |
| virtual void | RequestHash ()=0 |
| void | RequestModule () |
| void | SendModuleToClient () |
| void | Update () |
| Warden () | |
| virtual | ~Warden () |
Static Public Member Functions | |
| static uint32 | BuildChecksum (const uint8 *data, uint32 length) |
| static bool | IsValidCheckSum (uint32 checksum, const uint8 *data, const uint16 length) |
Private Attributes | |
| uint32 | _checkTimer |
| uint32 | _clientResponseTimer |
| bool | _dataSent |
| bool | _initialized |
| SkyFire::Crypto::ARC4 | _inputCrypto |
| uint8 | _inputKey [16] = { } |
| ClientWardenModule * | _module |
| SkyFire::Crypto::ARC4 | _outputCrypto |
| uint8 | _outputKey [16] = { } |
| uint32 | _previousTimestamp |
| uint8 | _seed [16] = { } |
| WorldSession * | _session |
Friends | |
| class | WardenMac |
| class | WardenWin |
| Warden::Warden | ( | ) |
Definition at line 20 of file Warden.cpp.
References _checkTimer, _clientResponseTimer, _dataSent, _initialized, _module, _previousTimestamp, and _session.
Referenced by WardenMac::WardenMac(), and WardenWin::WardenWin().
|
virtual |
Definition at line 22 of file Warden.cpp.
References _initialized, and _module.
Definition at line 154 of file Warden.cpp.
References keyData::bytes, and keyData::ints.
Referenced by WardenWin::InitializeModule(), and IsValidCheckSum().
Definition at line 113 of file Warden.cpp.
References _inputCrypto.
Definition at line 118 of file Warden.cpp.
References _outputCrypto.
Referenced by WardenWin::InitializeModule(), WardenMac::RequestData(), WardenWin::RequestData(), WardenMac::RequestHash(), WardenWin::RequestHash(), RequestModule(), and SendModuleToClient().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Definition at line 123 of file Warden.cpp.
References BuildChecksum(), and SF_LOG_DEBUG.
Referenced by WardenWin::HandleData().
| std::string Warden::Penalty | ( | WardenCheck * | check = NULL | ) |
Definition at line 165 of file Warden.cpp.
References _session, WardenCheck::Action, BAN_ACCOUNT, WardenCheck::CheckId, WardenCheck::Comment, CONFIG_WARDEN_CLIENT_BAN_DURATION, CONFIG_WARDEN_CLIENT_FAIL_ACTION, AccountMgr::GetName(), sWorld, WARDEN_ACTION_BAN, WARDEN_ACTION_KICK, and WARDEN_ACTION_LOG.
Referenced by WardenWin::HandleData(), WardenMac::HandleHashResult(), and WardenWin::HandleHashResult().
|
pure virtual |
| void Warden::RequestModule | ( | ) |
Definition at line 56 of file Warden.cpp.
References _module, _session, ByteBuffer::append(), WardenModuleUse::Command, EncryptData(), WardenModuleUse::ModuleId, WardenModuleUse::ModuleKey, SF_LOG_DEBUG, WardenModuleUse::Size, SMSG_WARDEN_DATA, and WARDEN_SMSG_MODULE_USE.
Referenced by WardenMac::Init(), and WardenWin::Init().
| void Warden::SendModuleToClient | ( | ) |
Definition at line 30 of file Warden.cpp.
References _module, _session, ByteBuffer::append(), WardenModuleTransfer::Command, WardenModuleTransfer::Data, WardenModuleTransfer::DataSize, EncryptData(), SF_LOG_DEBUG, SMSG_WARDEN_DATA, and WARDEN_SMSG_MODULE_CACHE.
| void Warden::Update | ( | ) |
Definition at line 76 of file Warden.cpp.
References _checkTimer, _clientResponseTimer, _dataSent, _initialized, _previousTimestamp, _session, CONFIG_WARDEN_CLIENT_RESPONSE_DELAY, getMSTime(), IN_MILLISECONDS, RequestData(), secsToTimeString(), SF_LOG_WARN, and sWorld.
|
friend |
|
friend |
|
private |
Definition at line 126 of file Warden.h.
Referenced by WardenWin::HandleData(), Update(), and Warden().
|
private |
Definition at line 127 of file Warden.h.
Referenced by WardenMac::HandleData(), WardenWin::HandleData(), Update(), and Warden().
|
private |
Definition at line 128 of file Warden.h.
Referenced by WardenMac::HandleData(), WardenWin::HandleData(), WardenMac::RequestData(), WardenWin::RequestData(), Update(), and Warden().
|
private |
Definition at line 131 of file Warden.h.
Referenced by WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), Update(), Warden(), and ~Warden().
|
private |
Definition at line 124 of file Warden.h.
Referenced by DecryptData(), WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), WardenMac::Init(), and WardenWin::Init().
|
private |
Definition at line 121 of file Warden.h.
Referenced by WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), WardenMac::Init(), WardenWin::Init(), and WardenWin::RequestData().
|
private |
Definition at line 130 of file Warden.h.
Referenced by WardenMac::Init(), WardenWin::Init(), RequestModule(), SendModuleToClient(), Warden(), and ~Warden().
|
private |
Definition at line 125 of file Warden.h.
Referenced by EncryptData(), WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), WardenMac::Init(), and WardenWin::Init().
|
private |
Definition at line 122 of file Warden.h.
Referenced by WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), WardenMac::Init(), and WardenWin::Init().
|
private |
Definition at line 129 of file Warden.h.
Referenced by WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), Update(), and Warden().
|
private |
Definition at line 123 of file Warden.h.
Referenced by WardenMac::Init(), WardenWin::Init(), WardenMac::RequestHash(), and WardenWin::RequestHash().
|
private |
Definition at line 120 of file Warden.h.
Referenced by WardenMac::HandleData(), WardenWin::HandleData(), WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), WardenMac::Init(), WardenWin::Init(), WardenWin::InitializeModule(), Penalty(), WardenMac::RequestData(), WardenWin::RequestData(), WardenMac::RequestHash(), WardenWin::RequestHash(), RequestModule(), SendModuleToClient(), Update(), and Warden().