diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-24 15:59:40 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2004-04-24 15:59:40 +0000 |
commit | c6c17f59976470df912d58a8ab35fe9d823dfe76 (patch) | |
tree | 3f3fe2e80ccba9850165a74b23c4d8a9b2d2d292 | |
parent | 28cc1b6ceb018f6996510ad00523a1578cbdf16b (diff) |
Added XLine stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@712 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | include/xline.h | 59 | ||||
-rw-r--r-- | src/commands.cpp | 1 | ||||
-rw-r--r-- | src/inspircd.cpp | 1 | ||||
-rw-r--r-- | src/mode.cpp | 1 | ||||
-rw-r--r-- | src/xline.cpp | 5 |
5 files changed, 67 insertions, 0 deletions
diff --git a/include/xline.h b/include/xline.h index 720364dd6..0532ad207 100644 --- a/include/xline.h +++ b/include/xline.h @@ -13,5 +13,64 @@ #include "channels.h" +/** XLine is the base class for ban lines such as G lines and K lines. + */ +class XLine : public classbase +{ + + /** The time the line was added. + */ + time_t set_time; + + /** The duration of the ban, or 0 if permenant + */ + long duration; + + /** Source of the ban. This can be a servername or an oper nickname + */ + char source[MAXBUF]; + + /** Reason for the ban + */ + char reason[MAXBUF]; + + /** Number of times the core matches the ban, for statistics + */ + long n_matches; + +}; + +class KLine : public XLine +{ + /** Hostmask (ident@host) to match against + * May contain wildcards. + */ + char hostmask[MAXBUF]; +}; + +class GLine : public XLine +{ + /** Hostmask (ident@host) to match against + * May contain wildcards. + */ + char hostmask[MAXBUF]; +}; + +class ZLine : public XLine +{ + /** IP Address (xx.yy.zz.aa) to match against + * May contain wildcards and may be CIDR + */ + char ipaddr[MAXBUF]; +}; + +class QLine : public XLine +{ + /** Nickname to match against. + * May contain wildcards. + */ + char nick[MAXBUF]; +}; #endif + diff --git a/src/commands.cpp b/src/commands.cpp index 3dd1004f1..28d10c3b5 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -33,6 +33,7 @@ #include "wildcard.h" #include "message.h" #include "mode.h" +#include "xline.h" #ifdef GCC3 #define nspace __gnu_cxx diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 5b9f54fd1..989faf9c7 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -54,6 +54,7 @@ using namespace std; #include "message.h" #include "mode.h" #include "commands.h" +#include "xline.h" #ifdef GCC3 #define nspace __gnu_cxx diff --git a/src/mode.cpp b/src/mode.cpp index 38756ffcf..b4b494340 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -33,6 +33,7 @@ #include "wildcard.h" #include "message.h" #include "commands.h" +#include "xline.h" using namespace std; diff --git a/src/xline.cpp b/src/xline.cpp index a1febad29..f653d80af 100644 --- a/src/xline.cpp +++ b/src/xline.cpp @@ -33,6 +33,7 @@ #include "wildcard.h" #include "message.h" #include "commands.h" +#include "xline.h" using namespace std; @@ -55,4 +56,8 @@ extern char list[MAXBUF]; extern char PrefixQuit[MAXBUF]; extern char DieValue[MAXBUF]; +std::vector<KLine> klines; +std::vector<GLine> glines; +std::vector<ZLine> zlines; +std::vector<QLine> qlines; |