diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-22 20:32:19 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-01-22 20:32:19 +0000 |
commit | 69dee41a1b0a88d8170b8665eb2979915b022aad (patch) | |
tree | 4e5664ff43eec1701a7d576cf2a676d630f4b021 | |
parent | 2f0b2d4656eb1e0a5cfbda54631ebecbb16cfe4d (diff) |
Added MakeWildHost to userrec (*!*@dhost)
Added ban stuff to messageflood
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2836 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | include/users.h | 2 | ||||
-rw-r--r-- | src/modules/m_messageflood.cpp | 8 | ||||
-rw-r--r-- | src/users.cpp | 12 |
3 files changed, 22 insertions, 0 deletions
diff --git a/include/users.h b/include/users.h index d89a0f11f..c22964a4c 100644 --- a/include/users.h +++ b/include/users.h @@ -315,6 +315,8 @@ class userrec : public connection void MakeHost(char* nhost); + char* MakeWildHost(); + /** Shuts down and closes the user's socket */ void CloseSocket(); diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index c88c93577..1f07e8155 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -181,6 +181,14 @@ class ModuleMsgFlood : public Module { /* Youre outttta here! */ f->clear(user); + if (f->ban) + { + char* parameters[3]; + parameters[0] = dest->name; + parameters[1] = "+b"; + parameters[2] = user->MakeWildHost(); + Srv->SendMode(parameters,3,user); + } Srv->KickUser(NULL, user, dest, "Channel flood triggered (mode +f)"); return 1; } diff --git a/src/users.cpp b/src/users.cpp index f6ada52c8..8bc2f8baa 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -114,6 +114,18 @@ char* userrec::GetFullHost() return result; } +char* userrec::MakeWildHost() +{ + static char nresult[MAXBUF]; + char* t = nresult; + *t++ = '*'; *t++ = '!'; + *t++ = '*'; *t++ = '@'; + for(char* n = dhost; *n; n++) + *t++ = *n; + *t = 0; + return nresult; +} + int userrec::ReadData(void* buffer, size_t size) { if (this->fd > -1) |