Go to the documentation of this file.
20 #include <znc/zncconfig.h>
89 const std::vector<CIRCNetwork*>&
GetNetworks()
const;
94 CClient* pSkipClient =
nullptr);
96 CClient* pSkipClient =
nullptr);
98 CClient* pSkipClient =
nullptr);
100 CClient* pSkipClient =
nullptr);
105 CClient* pSkipClient =
nullptr);
122 bool bCloneNetworks =
true);
299 void SetKeepBuffer(
bool b) {
306 #endif // !ZNC_USER_H
bool PutModNotice(const CString &sModule, const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
unsigned long long m_uBytesRead
Definition: User.h:286
const CString & GetClientEncoding() const
CUser(const CString &sUsername)
CModules & GetModules()
Definition: User.h:79
bool RemAllowedHost(const CString &sHostMask)
bool DenySetRealName() const
CString m_sDCCBindHost
Definition: User.h:246
CIRCNetwork * AddNetwork(const CString &sNetwork, CString &sErrorRet)
void SetJoinTries(unsigned int i)
Definition: User.h:165
CString GetLanguage() const
const std::set< CString > & GetAllowedHosts() const
const CString & GetAltNick(bool bAllowDefault=true) const
bool m_bDenySetNetwork
Definition: User.h:268
const CString & GetTimestampFormat() const
bool IsHostAllowed(const CString &sHost) const
bool m_bDenySetRealName
Definition: User.h:269
eHashType
Definition: User.h:49
CString m_sTimestampFormat
Definition: User.h:255
const CString & GetCleanUserName() const
CString ExpandString(const CString &sStr) const
void SetBindHost(const CString &s)
void SetTimestampPrepend(bool b)
Definition: User.h:162
CIRCNetwork * FindNetwork(const CString &sNetwork) const
void SetDenySetCTCPReplies(bool b)
void SetMaxJoins(unsigned int i)
Definition: User.h:166
CString m_sPassSalt
Definition: User.h:248
A dictionary for strings.
Definition: ZNCString.h:595
void SetTimestampAppend(bool b)
Definition: User.h:161
void SetDenySetBindHost(bool b)
MCString m_mssCTCPReplies
Definition: User.h:254
const CString & GetNick(bool bAllowDefault=true) const
const CString & GetPassSalt() const
bool GetTimestampPrepend() const
bool m_bDenySetBindHost
Definition: User.h:266
const CString & GetIdent(bool bAllowDefault=true) const
const CString & GetDefaultChanModes() const
unsigned int GetChanBufferSize() const
const CString & GetUserPath() const
static CString SaltedSHA256Hash(const CString &sPass, const CString &sSalt)
CString m_sTimezone
Definition: User.h:256
bool AddAllowedHost(const CString &sHostMask)
void SetTimezone(const CString &s)
Definition: User.h:164
void SetSkinName(const CString &s)
Definition: User.h:167
CString m_sPass
Definition: User.h:247
unsigned int JoinTries() const
Definition: User.h:230
void RemoveNetwork(CIRCNetwork *pNetwork)
bool IsBeingDeleted() const
Definition: User.h:226
bool DelCTCPReply(const CString &sCTCP)
bool PutStatusNotice(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
void UserConnected(CClient *pClient)
void SetDCCBindHost(const CString &s)
@ HASH_NONE
Definition: User.h:50
void SetDenySetIdent(bool b)
bool SetChanBufferSize(unsigned int u, bool bForce=false)
unsigned int MaxQueryBuffers() const
Definition: User.h:235
CString m_sNick
Definition: User.h:241
void AddBytesRead(unsigned long long u)
Definition: User.h:125
unsigned int MaxJoins() const
Definition: User.h:231
bool MultiClients() const
bool m_bPrependTimestamp
Definition: User.h:276
std::vector< CIRCNetwork * > m_vIRCNetworks
Definition: User.h:281
CString m_sRealName
Definition: User.h:244
String class that is used inside ZNC.
Definition: ZNCString.h:68
CString m_sStatusPrefix
Definition: User.h:249
bool DeleteNetwork(const CString &sNetwork)
unsigned int m_uMaxJoins
Definition: User.h:291
CString m_sIdent
Definition: User.h:243
bool DenySetCTCPReplies() const
void SetDenySetQuitMsg(bool b)
CString m_sAltNick
Definition: User.h:242
CString m_sUserPath
Definition: User.h:260
const CString & GetBindHost() const
bool IsUserAttached() const
CUserTimer * m_pUserTimer
Definition: User.h:279
eHashType GetPassHashType() const
bool m_bAutoClearChanBuffer
Definition: User.h:272
void SetNick(const CString &s)
void UserDisconnected(CClient *pClient)
unsigned long long BytesWritten() const
static CString MakeCleanUserName(const CString &sUsername)
bool PutStatus(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
std::set< CString > m_ssAllowedHosts
Definition: User.h:283
CUser & operator=(const CUser &)=delete
std::vector< CClient * > GetAllClients() const
void SetAutoClearChanBuffer(bool b)
bool m_bDenySetCTCPReplies
Definition: User.h:271
void SetDenySetNetwork(bool b)
bool AutoClearQueryBuffer() const
bool AddCTCPReply(const CString &sCTCP, const CString &sReply)
unsigned int m_uMaxQueryBuffers
Definition: User.h:290
bool ParseConfig(CConfig *Config, CString &sError)
void SetIdent(const CString &s)
bool m_bBeingDeleted
Definition: User.h:274
bool DenySetBindHost() const
bool m_bAutoClearQueryBuffer
Definition: User.h:273
bool m_bDenyLoadMod
Definition: User.h:264
@ HASH_DEFAULT
Definition: User.h:54
void SetNoTrafficTimeout(unsigned int i)
Definition: User.h:170
unsigned long long BytesRead() const
bool SetLanguage(const CString &s)
const CString & GetPass() const
bool DenySetIdent() const
bool GetTimestampAppend() const
bool m_bDenySetQuitMsg
Definition: User.h:270
void SetMaxNetworks(unsigned int i)
Definition: User.h:168
bool DenySetQuitMsg() const
CString m_sLanguage
Definition: User.h:294
static CString MakeCleanUsername(const CString &sUsername)
bool Clone(const CUser &User, CString &sErrorRet, bool bCloneNetworks=true)
void SetBeingDeleted(bool b)
Definition: User.h:159
unsigned int GetPingSlack() const
Time between checks if PINGs need to be sent.
Definition: User.h:212
bool DenySetNetwork() const
bool AutoClearChanBuffer() const
void SetMultiClients(bool b)
const CString & GetStatusPrefix() const
CString AddTimestamp(const CString &sStr) const
const CString & GetUsername() const
unsigned int GetQueryBufferSize() const
CString m_sBindHost
Definition: User.h:245
CString m_sQuitMsg
Definition: User.h:253
void SetPass(const CString &s, eHashType eHash, const CString &sSalt="")
unsigned int m_uNoTrafficTimeout
Definition: User.h:292
const CString & GetDCCBindHost() const
const CString m_sUsername
Definition: User.h:239
std::vector< CClient * > m_vClients
Definition: User.h:282
unsigned int MaxNetworks() const
Definition: User.h:234
void SetAltNick(const CString &s)
bool SetStatusPrefix(const CString &s)
void SetDefaultChanModes(const CString &s)
bool PutModule(const CString &sModule, const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
const CString & GetUserName() const
void SetDenyLoadMod(bool b)
Definition: Modules.h:1388
CString m_sSkinName
Definition: User.h:293
CString GetLocalDCCIP() const
bool m_bAdmin
Definition: User.h:265
bool m_bAppendTimestamp
Definition: User.h:275
CString GetSkinName() const
CString m_sClientEncoding
Definition: User.h:251
bool PutAllUser(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
const CString m_sCleanUsername
Definition: User.h:240
Definition: IRCNetwork.h:40
bool CheckPass(const CString &sPass) const
const CModules & GetModules() const
Definition: User.h:80
static CString SaltedHash(const CString &sPass, const CString &sSalt)
Definition: User.h:60
void SetMaxQueryBuffers(unsigned int i)
Definition: User.h:169
CString GetTimezone() const
Definition: User.h:227
CString GetRealName() const
bool SetQueryBufferSize(unsigned int u, bool bForce=false)
bool IsValid(CString &sErrMsg, bool bSkipPass=false) const
void SetDenySetRealName(bool b)
unsigned int m_uQueryBufferSize
Definition: User.h:285
bool HasSpaceForNewNetwork() const
unsigned int m_uChanBufferSize
Definition: User.h:284
void SetClientEncoding(const CString &s)
@ HASH_MD5
Definition: User.h:51
static bool IsValidUserName(const CString &sUsername)
CModules * m_pModules
Definition: User.h:296
static bool IsValidUsername(const CString &sUsername)
unsigned int GetNoTrafficTimeout() const
Timeout after which IRC connections are closed.
Definition: User.h:216
Definition: Translation.h:104
@ HASH_SHA256
Definition: User.h:52
void SetAutoClearQueryBuffer(bool b)
void SetAuthOnlyViaModule(bool b)
Definition: User.h:163
eHashType m_eHashType
Definition: User.h:257
const MCString & GetCTCPReplies() const
bool m_bDenySetIdent
Definition: User.h:267
bool AuthOnlyViaModule() const
bool PutUser(const CString &sLine, CClient *pClient=nullptr, CClient *pSkipClient=nullptr)
void CloneNetworks(const CUser &User)
unsigned int m_uMaxJoinTries
Definition: User.h:288
unsigned int m_uMaxNetworks
Definition: User.h:289
CString GetQuitMsg() const
bool m_bMultiClients
Definition: User.h:263
const std::vector< CIRCNetwork * > & GetNetworks() const
bool SetBufferCount(unsigned int u, bool bForce=false)
void SetTimestampFormat(const CString &s)
Definition: User.h:160
bool m_bAuthOnlyViaModule
Definition: User.h:277
const std::vector< CClient * > & GetUserClients() const
Definition: User.h:174
Definition: FileUtils.h:30
unsigned int GetBufferCount() const
void SetQuitMsg(const CString &s)
void AddBytesWritten(unsigned long long u)
Definition: User.h:126
unsigned long long m_uBytesWritten
Definition: User.h:287
unsigned int GetPingFrequency() const
How long must an IRC connection be idle before ZNC sends a ping.
Definition: User.h:210
CString m_sDefaultChanModes
Definition: User.h:250
void SetRealName(const CString &s)