X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusers.h;h=0dfbc222367ee41f84de20559edc0b8421e606c5;hb=db11f2b24c6aeb5ab7ba4678638890bc68b1d0c1;hp=e14637d06dca14e9d54a163d98a3a9afe2b59a40;hpb=e7f0a0fb7edf96abbddf72eadb490b5eb22447ec;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/users.h b/include/users.h index e14637d06..0dfbc2223 100644 --- a/include/users.h +++ b/include/users.h @@ -17,7 +17,7 @@ #include "inspircd_config.h" #include "channels.h" #include "connection.h" - +#include "inspstring.h" #include #ifndef __USERS_H__ @@ -57,14 +57,23 @@ class ConnectClass : public classbase /** Host mask for this line */ char host[MAXBUF]; + /** Number of seconds between pings for this line + */ + int pingtime; /** (Optional) Password for this line */ char pass[MAXBUF]; + + /** Threshold value for flood disconnect + */ + long threshold; ConnectClass() { registration_timeout = 0; flood = 0; + pingtime = 0; + threshold = 0; strlcpy(host,"",MAXBUF); strlcpy(pass,"",MAXBUF); } @@ -155,6 +164,32 @@ class userrec : public connection */ char oper[NICKMAX]; + /** True when DNS lookups are completed. + */ + bool dns_done; + + /** Number of seconds between PINGs for this user (set from <connect:allow> tag + */ + unsigned long pingmax; + + /** Password specified by the user when they registered. + * This is stored even if the block doesnt need a password, so that + * modules may check it. + */ + char password[MAXBUF]; + + /** User's receive queue. + * Lines from the IRCd awaiting processing are stored here. + * Upgraded april 2005, old system a bit hairy. + */ + std::string recvq; + + /** Flood counters + */ + long lines_in; + time_t reset_due; + long threshold; + userrec(); virtual ~userrec() { } @@ -191,6 +226,11 @@ class userrec : public connection * this to their oper classes and checking the commands they can execute. */ bool HasPermission(char* command); + + bool userrec::AddBuffer(std::string a); + bool userrec::BufferIsReady(); + void userrec::ClearBuffer(); + std::string userrec::GetBuffer(); };