From c6c17f59976470df912d58a8ab35fe9d823dfe76 Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 24 Apr 2004 15:59:40 +0000 Subject: Added XLine stuff git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@712 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/xline.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/commands.cpp | 1 + src/inspircd.cpp | 1 + src/mode.cpp | 1 + src/xline.cpp | 5 +++++ 5 files changed, 67 insertions(+) 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 klines; +std::vector glines; +std::vector zlines; +std::vector qlines; -- cgit v1.2.3