From 653638c68684ec035fd58bc2d0d91c9bf9aa2ab9 Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 27 Jan 2006 15:26:59 +0000 Subject: Improved IP handling. Now uses in_addr to store client ip, not char[16]! Added global and local session limits All of this needs TESTING. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2934 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/connection.h | 6 +----- include/users.h | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/connection.h b/include/connection.h index d3e635aa9..db76859d7 100644 --- a/include/connection.h +++ b/include/connection.h @@ -44,11 +44,7 @@ class connection : public Extensible /** Hostname of connection. Not used if this is a serverrec */ char host[160]; - - /** IP of connection. - */ - char ip[16]; - + /** Stats counter for bytes inbound */ int bytes_in; diff --git a/include/users.h b/include/users.h index c22964a4c..e1bf887bd 100644 --- a/include/users.h +++ b/include/users.h @@ -83,6 +83,14 @@ class ConnectClass : public classbase /** Maximum size of recvq for users in this class (bytes) */ long recvqmax; + + /** Local max when connecting by this connection class + */ + long maxlocal; + + /** Global max when connecting by this connection class + */ + long maxglobal; ConnectClass() : registration_timeout(0), flood(0), host(""), pingtime(0), pass(""), threshold(0), sendqmax(0), recvqmax(0) { @@ -204,6 +212,10 @@ class userrec : public connection time_t reset_due; long threshold; + /** IPV4 ip address + */ + in_addr ip4; + /* Write error string */ std::string WriteError; @@ -347,9 +359,8 @@ void DeleteOper(userrec* user); void kill_link(userrec *user,const char* r); void kill_link_silent(userrec *user,const char* r); void AddWhoWas(userrec* u); -void AddClient(int socket, char* host, int port, bool iscached, char* ip); +void AddClient(int socket, int port, bool iscached, in_addr ip4); void FullConnectUser(userrec* user, CullList* Goners); -//void ConnectUser(userrec *user, CullList* Goners); userrec* ReHashNick(char* Old, char* New); void force_nickchange(userrec* user,const char* newnick); -- cgit v1.2.3