*/
enum RegistrationState {
-#ifndef WIN32 // Burlex: This is already defined in win32, luckily it is still 0.
+#ifndef _WIN32 // Burlex: This is already defined in win32, luckily it is still 0.
REG_NONE = 0, /* Has sent nothing */
#endif
/** Get client IP string from sockaddr, using static internal buffer
* @return The IP string
*/
- const char* GetIPString();
+ const std::string& GetIPString();
/** Get CIDR mask, using default range, for this user
*/
/** Sets the client IP for this user
* @return true if the conversion was successful
*/
- bool SetClientIP(const char* sip);
+ virtual bool SetClientIP(const char* sip, bool recheck_eline = true);
- void SetClientIP(const irc::sockets::sockaddrs& sa);
+ virtual void SetClientIP(const irc::sockets::sockaddrs& sa, bool recheck_eline = true);
/** Constructor
* @throw CoreException if the UID allocated to the user already exists
UserIOHandler eh;
+ /** Position in UserManager::local_users
+ */
+ LocalUserList::iterator localuseriter;
+
/** Stats counter for bytes inbound
*/
- int bytes_in;
+ unsigned int bytes_in;
/** Stats counter for bytes outbound
*/
- int bytes_out;
+ unsigned int bytes_out;
/** Stats counter for commands inbound
*/
- int cmds_in;
+ unsigned int cmds_in;
/** Stats counter for commands outbound
*/
- int cmds_out;
+ unsigned int cmds_out;
/** Password specified by the user when they registered (if any).
* This is stored even if the \<connect> block doesnt need a password, so that
*/
void SetClass(const std::string &explicit_name = "");
- bool SetClientIP(const char* sip);
+ bool SetClientIP(const char* sip, bool recheck_eline = true);
- void SetClientIP(const irc::sockets::sockaddrs& sa);
+ void SetClientIP(const irc::sockets::sockaddrs& sa, bool recheck_eline = true);
void SendText(const std::string& line);
void Write(const std::string& text);