X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fxline.h;h=dad0ed238851696e7d23e4d1f83f0a87ec1f7573;hb=8ed28d1f98d4d4c653201f0c4273e74dd8a122e6;hp=87f88518fca89f0a45a66a352fd238d11a0b6a41;hpb=740b09e2aee345c6fde199986d8eab6e0db224e3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/xline.h b/include/xline.h index 87f88518f..dad0ed238 100644 --- a/include/xline.h +++ b/include/xline.h @@ -28,6 +28,11 @@ #include "users.h" #include "channels.h" +const int APPLY_GLINES = 1; +const int APPLY_KLINES = 2; +const int APPLY_QLINES = 4; +const int APPLY_ZLINES = 8; +const int APPLY_ALL = APPLY_GLINES | APPLY_KLINES | APPLY_QLINES | APPLY_ZLINES; /** XLine is the base class for ban lines such as G lines and K lines. */ @@ -45,7 +50,7 @@ class XLine : public classbase /** Source of the ban. This can be a servername or an oper nickname */ - char source[MAXBUF]; + char source[256]; /** Reason for the ban */ @@ -65,7 +70,7 @@ class KLine : public XLine /** Hostmask (ident@host) to match against * May contain wildcards. */ - char hostmask[MAXBUF]; + char hostmask[200]; }; /** GLine class @@ -76,7 +81,16 @@ class GLine : public XLine /** Hostmask (ident@host) to match against * May contain wildcards. */ - char hostmask[MAXBUF]; + char hostmask[200]; +}; + +class ELine : public XLine +{ + public: + /** Hostmask (ident@host) to match against + * May contain wildcards. + */ + char hostmask[200]; }; /** ZLine class @@ -87,7 +101,7 @@ class ZLine : public XLine /** IP Address (xx.yy.zz.aa) to match against * May contain wildcards. */ - char ipaddr[MAXBUF]; + char ipaddr[40]; /** Set if this is a global Z:line * (e.g. it came from another server) */ @@ -102,7 +116,7 @@ class QLine : public XLine /** Nickname to match against. * May contain wildcards. */ - char nick[MAXBUF]; + char nick[64]; /** Set if this is a global Z:line * (e.g. it came from another server) */ @@ -111,38 +125,39 @@ class QLine : public XLine void read_xline_defaults(); -void add_gline(long duration, char* source, char* reason, char* hostmask); -void add_qline(long duration, char* source, char* reason, char* nickname); -void add_zline(long duration, char* source, char* reason, char* ipaddr); -void add_kline(long duration, char* source, char* reason, char* hostmask); +void add_gline(long duration, const char* source, const char* reason, const char* hostmask); +void add_qline(long duration, const char* source, const char* reason, const char* nickname); +void add_zline(long duration, const char* source, const char* reason, const char* ipaddr); +void add_kline(long duration, const char* source, const char* reason, const char* hostmask); +void add_eline(long duration, const char* source, const char* reason, const char* hostmask); -bool del_gline(char* hostmask); -bool del_qline(char* nickname); -bool del_zline(char* ipaddr); -bool del_kline(char* hostmask); +bool del_gline(const char* hostmask); +bool del_qline(const char* nickname); +bool del_zline(const char* ipaddr); +bool del_kline(const char* hostmask); +bool del_eline(const char* hostmask); char* matches_qline(const char* nick); char* matches_gline(const char* host); char* matches_zline(const char* ipaddr); char* matches_kline(const char* host); +char* matches_exception(const char* host); void expire_lines(); -void apply_lines(); +void apply_lines(const int What); void stats_k(userrec* user); void stats_g(userrec* user); void stats_q(userrec* user); void stats_z(userrec* user); +void stats_e(userrec* user); void gline_set_creation_time(char* host, time_t create_time); void qline_set_creation_time(char* nick, time_t create_time); void zline_set_creation_time(char* ip, time_t create_time); - -bool zline_make_global(char* ipaddr); -bool qline_make_global(char* nickname); - -void sync_xlines(serverrec* serv, char* tcp_host); +void eline_set_creation_time(char* host, time_t create_time); + +bool zline_make_global(const char* ipaddr); +bool qline_make_global(const char* nickname); #endif - -