Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
Warden Class Referenceabstract

#include <Warden.h>

Inheritance diagram for Warden:
Collaboration diagram for Warden:

Public Member Functions

void DecryptData (uint8 *buffer, uint32 length)
void EncryptData (uint8 *buffer, uint32 length)
virtual ClientWardenModuleGetModuleForClient ()=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

Detailed Description

Definition at line 90 of file Warden.h.

Constructor & Destructor Documentation

◆ Warden()

Warden::Warden ( )

◆ ~Warden()

Warden::~Warden ( )
virtual

Definition at line 22 of file Warden.cpp.

References _initialized, and _module.

Member Function Documentation

◆ BuildChecksum()

uint32 Warden::BuildChecksum ( const uint8 * data,
uint32 length )
static

Definition at line 154 of file Warden.cpp.

References keyData::bytes, and keyData::ints.

Referenced by WardenWin::InitializeModule(), and IsValidCheckSum().

◆ DecryptData()

void Warden::DecryptData ( uint8 * buffer,
uint32 length )

Definition at line 113 of file Warden.cpp.

References _inputCrypto.

◆ EncryptData()

◆ GetModuleForClient()

virtual ClientWardenModule * Warden::GetModuleForClient ( )
pure virtual

Implemented in WardenMac, and WardenWin.

◆ HandleData()

virtual void Warden::HandleData ( ByteBuffer & buff)
pure virtual

Implemented in WardenMac, and WardenWin.

◆ HandleHashResult()

virtual void Warden::HandleHashResult ( ByteBuffer & buff)
pure virtual

Implemented in WardenMac, and WardenWin.

◆ Init()

virtual void Warden::Init ( WorldSession * session,
SessionKey const & k )
pure virtual

Implemented in WardenMac, and WardenWin.

◆ InitializeModule()

virtual void Warden::InitializeModule ( )
pure virtual

Implemented in WardenMac, and WardenWin.

◆ IsValidCheckSum()

bool Warden::IsValidCheckSum ( uint32 checksum,
const uint8 * data,
const uint16 length )
static

Definition at line 123 of file Warden.cpp.

References BuildChecksum(), and SF_LOG_DEBUG.

Referenced by WardenWin::HandleData().

◆ Penalty()

◆ RequestData()

virtual void Warden::RequestData ( )
pure virtual

Implemented in WardenMac, and WardenWin.

Referenced by Update().

◆ RequestHash()

virtual void Warden::RequestHash ( )
pure virtual

Implemented in WardenMac, and WardenWin.

◆ RequestModule()

◆ SendModuleToClient()

◆ Update()

◆ WardenMac

friend class WardenMac
friend

Definition at line 93 of file Warden.h.

References WardenMac.

Referenced by WardenMac.

◆ WardenWin

friend class WardenWin
friend

Definition at line 92 of file Warden.h.

References WardenWin.

Referenced by WardenWin.

Member Data Documentation

◆ _checkTimer

uint32 Warden::_checkTimer
private

Definition at line 126 of file Warden.h.

Referenced by WardenWin::HandleData(), Update(), and Warden().

◆ _clientResponseTimer

uint32 Warden::_clientResponseTimer
private

Definition at line 127 of file Warden.h.

Referenced by WardenMac::HandleData(), WardenWin::HandleData(), Update(), and Warden().

◆ _dataSent

bool Warden::_dataSent
private

◆ _initialized

bool Warden::_initialized
private

◆ _inputCrypto

◆ _inputKey

uint8 Warden::_inputKey[16] = { }
private

◆ _module

ClientWardenModule* Warden::_module
private

◆ _outputCrypto

◆ _outputKey

uint8 Warden::_outputKey[16] = { }
private

◆ _previousTimestamp

uint32 Warden::_previousTimestamp
private

Definition at line 129 of file Warden.h.

Referenced by WardenMac::HandleHashResult(), WardenWin::HandleHashResult(), Update(), and Warden().

◆ _seed

uint8 Warden::_seed[16] = { }
private

◆ _session


The documentation for this class was generated from the following files: