X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusers.h;h=2934652540815374f54dd8e865a4a33d3bebfc8a;hb=c5d8d3e3c6b7a5cb44572d9a9b6e5249d74cb1f7;hp=0d2bff0129f351bd55a74cf2fc22b16df3ded2b3;hpb=552ab1e39852733203d2037aa0bbaa1b63fd94a2;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/users.h b/include/users.h index 0d2bff012..293465254 100644 --- a/include/users.h +++ b/include/users.h @@ -143,7 +143,7 @@ public: registration_timeout(source->registration_timeout), flood(source->flood), host(source->host), pingtime(source->pingtime), pass(source->pass), hash(source->hash), threshold(source->threshold), sendqmax(source->sendqmax), recvqmax(source->recvqmax), maxlocal(source->maxlocal), maxglobal(source->maxglobal), maxchans(source->maxchans), - port(source->port), RefCount(0), disabled(false), limit(0) + port(source->port), RefCount(0), disabled(false), limit(source->limit) { } @@ -191,7 +191,7 @@ public: registration_timeout(source->registration_timeout), flood(source->flood), host(source->host), pingtime(source->pingtime), pass(source->pass), hash(source->hash), threshold(source->threshold), sendqmax(source->sendqmax), recvqmax(source->recvqmax), maxlocal(source->maxlocal), maxglobal(source->maxglobal), maxchans(source->maxchans), - port(source->port), RefCount(0), disabled(false), limit(0) + port(source->port), RefCount(0), disabled(false), limit(source->limit) { } @@ -661,6 +661,15 @@ class CoreExport User : public connection */ const char* GetIPString(bool translate4in6 = true); + /** Get a CIDR mask from the IP of this user, using a static internal buffer. + * e.g., GetCIDRMask(16) for 223.254.214.52 returns 223.254.0.0/16 + * This may be used for CIDR clone detection, etc. + * + * (XXX, brief note: when we do the sockets rewrite, this should move down a + * level so it may be used on more derived objects. -- w00t) + */ + const char *GetCIDRMask(int range); + /* Write error string */ std::string WriteError; @@ -689,9 +698,10 @@ class CoreExport User : public connection */ User(InspIRCd* Instance, const std::string &uid = ""); - /** Check if the user matches a G or K line, and disconnect them if they do + /** Check if the user matches a G or K line, and disconnect them if they do. + * Returns true if the user matched a ban, false else. */ - void CheckLines(); + bool CheckLines(); /** Returns the full displayed host of the user * This member function returns the hostname of the user as seen by other users