ZNC  trunk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
CUser Class Reference

#include <User.h>

+ Collaboration diagram for CUser:

Public Types

enum  eHashType { HASH_NONE, HASH_MD5, HASH_SHA256, HASH_DEFAULT = HASH_SHA256 }
 

Public Member Functions

 CUser (const CString &sUserName)
 
 ~CUser ()
 
bool ParseConfig (CConfig *Config, CString &sError)
 
CConfig ToConfig ()
 
bool CheckPass (const CString &sPass) const
 
bool AddAllowedHost (const CString &sHostMask)
 
bool IsHostAllowed (const CString &sHostMask) const
 
bool IsValid (CString &sErrMsg, bool bSkipPass=false) const
 
CModulesGetModules ()
 
const CModulesGetModules () const
 
CIRCNetworkAddNetwork (const CString &sNetwork, CString &sErrorRet)
 
bool DeleteNetwork (const CString &sNetwork)
 
bool AddNetwork (CIRCNetwork *pNetwork)
 
void RemoveNetwork (CIRCNetwork *pNetwork)
 
CIRCNetworkFindNetwork (const CString &sNetwork) const
 
const std::vector< CIRCNetwork * > & GetNetworks () const
 
bool HasSpaceForNewNetwork () const
 
bool PutUser (const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool PutAllUser (const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool PutStatus (const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool PutStatusNotice (const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool PutModule (const CString &sModule, const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool PutModNotice (const CString &sModule, const CString &sLine, CClient *pClient=NULL, CClient *pSkipClient=NULL)
 
bool IsUserAttached () const
 
void UserConnected (CClient *pClient)
 
void UserDisconnected (CClient *pClient)
 
CString GetLocalDCCIP ()
 
CString ExpandString (const CString &sStr) const
 
CStringExpandString (const CString &sStr, CString &sRet) const
 
CString AddTimestamp (const CString &sStr) const
 
CString AddTimestamp (time_t tm, const CString &sStr) const
 
void CloneNetworks (const CUser &User)
 
bool Clone (const CUser &User, CString &sErrorRet, bool bCloneNetworks=true)
 
void BounceAllClients ()
 
void AddBytesRead (unsigned long long u)
 
void AddBytesWritten (unsigned long long u)
 
void SetNick (const CString &s)
 
void SetAltNick (const CString &s)
 
void SetIdent (const CString &s)
 
void SetRealName (const CString &s)
 
void SetBindHost (const CString &s)
 
void SetDCCBindHost (const CString &s)
 
void SetPass (const CString &s, eHashType eHash, const CString &sSalt="")
 
void SetMultiClients (bool b)
 
void SetDenyLoadMod (bool b)
 
void SetAdmin (bool b)
 
void SetDenySetBindHost (bool b)
 
bool SetStatusPrefix (const CString &s)
 
void SetDefaultChanModes (const CString &s)
 
void SetClientEncoding (const CString &s)
 
void SetQuitMsg (const CString &s)
 
bool AddCTCPReply (const CString &sCTCP, const CString &sReply)
 
bool DelCTCPReply (const CString &sCTCP)
 
bool SetBufferCount (unsigned int u, bool bForce=false)
 
void SetAutoClearChanBuffer (bool b)
 
void SetBeingDeleted (bool b)
 
void SetTimestampFormat (const CString &s)
 
void SetTimestampAppend (bool b)
 
void SetTimestampPrepend (bool b)
 
void SetTimezone (const CString &s)
 
void SetJoinTries (unsigned int i)
 
void SetMaxJoins (unsigned int i)
 
void SetSkinName (const CString &s)
 
void SetMaxNetworks (unsigned int i)
 
std::vector< CClient * > & GetUserClients ()
 
std::vector< CClient * > GetAllClients ()
 
const CStringGetUserName () const
 
const CStringGetCleanUserName () const
 
const CStringGetNick (bool bAllowDefault=true) const
 
const CStringGetAltNick (bool bAllowDefault=true) const
 
const CStringGetIdent (bool bAllowDefault=true) const
 
const CStringGetRealName () const
 
const CStringGetBindHost () const
 
const CStringGetDCCBindHost () const
 
const CStringGetPass () const
 
eHashType GetPassHashType () const
 
const CStringGetPassSalt () const
 
const std::set< CString > & GetAllowedHosts () const
 
const CStringGetTimestampFormat () const
 
const CStringGetClientEncoding () const
 
bool GetTimestampAppend () const
 
bool GetTimestampPrepend () const
 
const CStringGetUserPath () const
 
bool DenyLoadMod () const
 
bool IsAdmin () const
 
bool DenySetBindHost () const
 
bool MultiClients () const
 
const CStringGetStatusPrefix () const
 
const CStringGetDefaultChanModes () const
 
CString GetQuitMsg () const
 
const MCStringGetCTCPReplies () const
 
unsigned int GetBufferCount () const
 
bool AutoClearChanBuffer () const
 
bool IsBeingDeleted () const
 
CString GetTimezone () const
 
unsigned long long BytesRead () const
 
unsigned long long BytesWritten () const
 
unsigned int JoinTries () const
 
unsigned int MaxJoins () const
 
CString GetSkinName () const
 
unsigned int MaxNetworks () const
 

Static Public Member Functions

static CString SaltedHash (const CString &sPass, const CString &sSalt)
 
static bool IsValidUserName (const CString &sUserName)
 
static CString MakeCleanUserName (const CString &sUserName)
 

Protected Attributes

const CString m_sUserName
 
const CString m_sCleanUserName
 
CString m_sNick
 
CString m_sAltNick
 
CString m_sIdent
 
CString m_sRealName
 
CString m_sBindHost
 
CString m_sDCCBindHost
 
CString m_sPass
 
CString m_sPassSalt
 
CString m_sStatusPrefix
 
CString m_sDefaultChanModes
 
CString m_sClientEncoding
 
CString m_sQuitMsg
 
MCString m_mssCTCPReplies
 
CString m_sTimestampFormat
 
CString m_sTimezone
 
eHashType m_eHashType
 
CString m_sUserPath
 
bool m_bMultiClients
 
bool m_bDenyLoadMod
 
bool m_bAdmin
 
bool m_bDenySetBindHost
 
bool m_bAutoClearChanBuffer
 
bool m_bBeingDeleted
 
bool m_bAppendTimestamp
 
bool m_bPrependTimestamp
 
CUserTimer * m_pUserTimer
 
std::vector< CIRCNetwork * > m_vIRCNetworks
 
std::vector< CClient * > m_vClients
 
std::set< CStringm_ssAllowedHosts
 
unsigned int m_uBufferCount
 
unsigned long long m_uBytesRead
 
unsigned long long m_uBytesWritten
 
unsigned int m_uMaxJoinTries
 
unsigned int m_uMaxNetworks
 
unsigned int m_uMaxJoins
 
CString m_sSkinName
 
CModulesm_pModules
 

Member Enumeration Documentation

Enumerator
HASH_NONE 
HASH_MD5 
HASH_SHA256 
HASH_DEFAULT 

Constructor & Destructor Documentation

CUser::CUser ( const CString sUserName)
CUser::~CUser ( )

Member Function Documentation

bool CUser::AddAllowedHost ( const CString sHostMask)
void CUser::AddBytesRead ( unsigned long long  u)
inline

References m_uBytesRead.

void CUser::AddBytesWritten ( unsigned long long  u)
inline

References m_uBytesWritten.

bool CUser::AddCTCPReply ( const CString sCTCP,
const CString sReply 
)
CIRCNetwork* CUser::AddNetwork ( const CString sNetwork,
CString sErrorRet 
)
bool CUser::AddNetwork ( CIRCNetwork pNetwork)
CString CUser::AddTimestamp ( const CString sStr) const
CString CUser::AddTimestamp ( time_t  tm,
const CString sStr 
) const
bool CUser::AutoClearChanBuffer ( ) const
void CUser::BounceAllClients ( )
unsigned long long CUser::BytesRead ( ) const
inline

References m_uBytesRead.

unsigned long long CUser::BytesWritten ( ) const
inline

References m_uBytesWritten.

bool CUser::CheckPass ( const CString sPass) const
bool CUser::Clone ( const CUser User,
CString sErrorRet,
bool  bCloneNetworks = true 
)
void CUser::CloneNetworks ( const CUser User)
bool CUser::DelCTCPReply ( const CString sCTCP)
bool CUser::DeleteNetwork ( const CString sNetwork)
bool CUser::DenyLoadMod ( ) const
bool CUser::DenySetBindHost ( ) const
CString CUser::ExpandString ( const CString sStr) const
CString& CUser::ExpandString ( const CString sStr,
CString sRet 
) const
CIRCNetwork* CUser::FindNetwork ( const CString sNetwork) const
std::vector<CClient*> CUser::GetAllClients ( )
const std::set<CString>& CUser::GetAllowedHosts ( ) const
const CString& CUser::GetAltNick ( bool  bAllowDefault = true) const
const CString& CUser::GetBindHost ( ) const
unsigned int CUser::GetBufferCount ( ) const
const CString& CUser::GetCleanUserName ( ) const
const CString& CUser::GetClientEncoding ( ) const
const MCString& CUser::GetCTCPReplies ( ) const
const CString& CUser::GetDCCBindHost ( ) const
const CString& CUser::GetDefaultChanModes ( ) const
const CString& CUser::GetIdent ( bool  bAllowDefault = true) const
CString CUser::GetLocalDCCIP ( )
CModules& CUser::GetModules ( )
inline

References m_pModules.

const CModules& CUser::GetModules ( ) const
inline

References m_pModules.

const std::vector<CIRCNetwork*>& CUser::GetNetworks ( ) const
const CString& CUser::GetNick ( bool  bAllowDefault = true) const
const CString& CUser::GetPass ( ) const
eHashType CUser::GetPassHashType ( ) const
const CString& CUser::GetPassSalt ( ) const
CString CUser::GetQuitMsg ( ) const
const CString& CUser::GetRealName ( ) const
CString CUser::GetSkinName ( ) const
const CString& CUser::GetStatusPrefix ( ) const
bool CUser::GetTimestampAppend ( ) const
const CString& CUser::GetTimestampFormat ( ) const
bool CUser::GetTimestampPrepend ( ) const
CString CUser::GetTimezone ( ) const
inline

References m_sTimezone.

std::vector<CClient*>& CUser::GetUserClients ( )
inline

References m_vClients.

const CString& CUser::GetUserName ( ) const
const CString& CUser::GetUserPath ( ) const
bool CUser::HasSpaceForNewNetwork ( ) const
bool CUser::IsAdmin ( ) const
bool CUser::IsBeingDeleted ( ) const
inline

References m_bBeingDeleted.

bool CUser::IsHostAllowed ( const CString sHostMask) const
bool CUser::IsUserAttached ( ) const
bool CUser::IsValid ( CString sErrMsg,
bool  bSkipPass = false 
) const
static bool CUser::IsValidUserName ( const CString sUserName)
static
unsigned int CUser::JoinTries ( ) const
inline

References m_uMaxJoinTries.

static CString CUser::MakeCleanUserName ( const CString sUserName)
static
unsigned int CUser::MaxJoins ( ) const
inline

References m_uMaxJoins.

unsigned int CUser::MaxNetworks ( ) const
inline

References m_uMaxNetworks.

bool CUser::MultiClients ( ) const
bool CUser::ParseConfig ( CConfig Config,
CString sError 
)
bool CUser::PutAllUser ( const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
bool CUser::PutModNotice ( const CString sModule,
const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
bool CUser::PutModule ( const CString sModule,
const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
bool CUser::PutStatus ( const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
bool CUser::PutStatusNotice ( const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
bool CUser::PutUser ( const CString sLine,
CClient pClient = NULL,
CClient pSkipClient = NULL 
)
void CUser::RemoveNetwork ( CIRCNetwork pNetwork)
static CString CUser::SaltedHash ( const CString sPass,
const CString sSalt 
)
inlinestatic
void CUser::SetAdmin ( bool  b)
void CUser::SetAltNick ( const CString s)
void CUser::SetAutoClearChanBuffer ( bool  b)
void CUser::SetBeingDeleted ( bool  b)
inline

References m_bBeingDeleted.

void CUser::SetBindHost ( const CString s)
bool CUser::SetBufferCount ( unsigned int  u,
bool  bForce = false 
)
void CUser::SetClientEncoding ( const CString s)
void CUser::SetDCCBindHost ( const CString s)
void CUser::SetDefaultChanModes ( const CString s)
void CUser::SetDenyLoadMod ( bool  b)
void CUser::SetDenySetBindHost ( bool  b)
void CUser::SetIdent ( const CString s)
void CUser::SetJoinTries ( unsigned int  i)
inline

References m_uMaxJoinTries.

void CUser::SetMaxJoins ( unsigned int  i)
inline

References m_uMaxJoins.

void CUser::SetMaxNetworks ( unsigned int  i)
inline

References m_uMaxNetworks.

void CUser::SetMultiClients ( bool  b)
void CUser::SetNick ( const CString s)
void CUser::SetPass ( const CString s,
eHashType  eHash,
const CString sSalt = "" 
)
void CUser::SetQuitMsg ( const CString s)
void CUser::SetRealName ( const CString s)
void CUser::SetSkinName ( const CString s)
inline

References m_sSkinName.

bool CUser::SetStatusPrefix ( const CString s)
void CUser::SetTimestampAppend ( bool  b)
inline

References m_bAppendTimestamp.

void CUser::SetTimestampFormat ( const CString s)
inline

References m_sTimestampFormat.

void CUser::SetTimestampPrepend ( bool  b)
inline

References m_bPrependTimestamp.

void CUser::SetTimezone ( const CString s)
inline

References m_sTimezone.

CConfig CUser::ToConfig ( )
void CUser::UserConnected ( CClient pClient)
void CUser::UserDisconnected ( CClient pClient)

Member Data Documentation

bool CUser::m_bAdmin
protected
bool CUser::m_bAppendTimestamp
protected

Referenced by SetTimestampAppend().

bool CUser::m_bAutoClearChanBuffer
protected
bool CUser::m_bBeingDeleted
protected

Referenced by IsBeingDeleted(), and SetBeingDeleted().

bool CUser::m_bDenyLoadMod
protected
bool CUser::m_bDenySetBindHost
protected
bool CUser::m_bMultiClients
protected
bool CUser::m_bPrependTimestamp
protected

Referenced by SetTimestampPrepend().

eHashType CUser::m_eHashType
protected
MCString CUser::m_mssCTCPReplies
protected
CModules* CUser::m_pModules
protected

Referenced by GetModules().

CUserTimer* CUser::m_pUserTimer
protected
CString CUser::m_sAltNick
protected
CString CUser::m_sBindHost
protected
const CString CUser::m_sCleanUserName
protected
CString CUser::m_sClientEncoding
protected
CString CUser::m_sDCCBindHost
protected
CString CUser::m_sDefaultChanModes
protected
CString CUser::m_sIdent
protected
CString CUser::m_sNick
protected
CString CUser::m_sPass
protected
CString CUser::m_sPassSalt
protected
CString CUser::m_sQuitMsg
protected
CString CUser::m_sRealName
protected
std::set<CString> CUser::m_ssAllowedHosts
protected
CString CUser::m_sSkinName
protected

Referenced by SetSkinName().

CString CUser::m_sStatusPrefix
protected
CString CUser::m_sTimestampFormat
protected

Referenced by SetTimestampFormat().

CString CUser::m_sTimezone
protected

Referenced by GetTimezone(), and SetTimezone().

const CString CUser::m_sUserName
protected
CString CUser::m_sUserPath
protected
unsigned int CUser::m_uBufferCount
protected
unsigned long long CUser::m_uBytesRead
protected

Referenced by AddBytesRead(), and BytesRead().

unsigned long long CUser::m_uBytesWritten
protected

Referenced by AddBytesWritten(), and BytesWritten().

unsigned int CUser::m_uMaxJoins
protected

Referenced by MaxJoins(), and SetMaxJoins().

unsigned int CUser::m_uMaxJoinTries
protected

Referenced by JoinTries(), and SetJoinTries().

unsigned int CUser::m_uMaxNetworks
protected

Referenced by MaxNetworks(), and SetMaxNetworks().

std::vector<CClient*> CUser::m_vClients
protected

Referenced by GetUserClients().

std::vector<CIRCNetwork*> CUser::m_vIRCNetworks
protected

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