diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/socket.h | 13 | ||||
-rw-r--r-- | include/users.h | 13 |
2 files changed, 14 insertions, 12 deletions
diff --git a/include/socket.h b/include/socket.h index a9b0a472e..bfde750ea 100644 --- a/include/socket.h +++ b/include/socket.h @@ -107,20 +107,27 @@ namespace irc * @param sa The structure to place the result in. Will be zeroed prior to conversion * @return true if the conversion was successful, false if not. */ - CoreExport bool aptosa(const std::string& addr, int port, irc::sockets::sockaddrs* sa); + CoreExport bool aptosa(const std::string& addr, int port, irc::sockets::sockaddrs& sa); + /** Convert a binary sockaddr to an address-port pair * @param sa The structure to convert * @param addr the IP address * @param port the port * @return true if the conversion was successful, false if unknown address family */ - CoreExport bool satoap(const irc::sockets::sockaddrs* sa, std::string& addr, int &port); + CoreExport bool satoap(const irc::sockets::sockaddrs& sa, std::string& addr, int &port); + /** Convert a binary sockaddr to a user-readable string. * This means IPv6 addresses are written as [::1]:6667, and *:6668 is used for 0.0.0.0:6668 * @param sa The structure to convert * @return The string; "<unknown>" if not a valid address */ - CoreExport std::string satouser(const irc::sockets::sockaddrs* sa); + CoreExport std::string satouser(const irc::sockets::sockaddrs& sa); + + /** Create a CIDR mask from the given address, of length <range> + * Result will be of the form 192.0.5.0/24 or 2001:af35::/48 + */ + CoreExport std::string mask(irc::sockets::sockaddrs sa, unsigned int range); } } diff --git a/include/users.h b/include/users.h index 49e43f0bf..fa56abc0e 100644 --- a/include/users.h +++ b/include/users.h @@ -388,20 +388,15 @@ class CoreExport User : public StreamSocket */ const char* GetIPString(); + /** Get CIDR mask, using default range, for this user + */ + irc::string GetCIDRMask(); + /** Sets the client IP for this user * @return true if the conversion was successful */ bool SetClientIP(const char* sip); - /** 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); - /** Default constructor * @throw CoreException if the UID allocated to the user already exists * @param Instance Creator instance |