diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-27 15:26:59 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-27 15:26:59 +0000 |
commit | 653638c68684ec035fd58bc2d0d91c9bf9aa2ab9 (patch) | |
tree | 364fd9cce4e2e8d6e86ddc3f1267b98dbed51854 /include | |
parent | 469c2e7f5ad7d3f4d7d150d643ce363a650f19b9 (diff) |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/connection.h | 6 | ||||
-rw-r--r-- | include/users.h | 15 |
2 files changed, 14 insertions, 7 deletions
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); |