diff options
72 files changed, 3155 insertions, 3618 deletions
diff --git a/data/example.conf b/data/example.conf index aa7d9ab8b..0954b8d0d 100644 --- a/data/example.conf +++ b/data/example.conf @@ -603,7 +603,7 @@ options * * operserv/global operserv/news operserv/stats operserv/kick * operserv/mode operserv/session operserv/modlist operserv/ignore - * operserv/chankill operserv/akill operserv/sqline operserv/sgline + * operserv/chankill operserv/akill operserv/sqline operserv/snline * operserv/szline operserv/clearmodes operserv/staff operserv/defcon * operserv/modload operserv/jupe operserv/set operserv/noop * operserv/quit operserv/update operserv/reload operserv/restart @@ -636,7 +636,7 @@ opertype inherits = "Helper, Another Helper" /* What commands (see above) this opertype may use */ - commands = "chanserv/list chanserv/suspend chanserv/status chanserv/topic memoserv/staff nickserv/sendpass nickserv/resetpass nickserv/suspend operserv/mode operserv/chankill operserv/szline operserv/akill operserv/session operserv/clearmodes operserv/modlist operserv/sqline operser/staff operserv/kick operserv/ignore operserv/sgline" + commands = "chanserv/list chanserv/suspend chanserv/status chanserv/topic memoserv/staff nickserv/sendpass nickserv/resetpass nickserv/suspend operserv/mode operserv/chankill operserv/szline operserv/akill operserv/session operserv/clearmodes operserv/modlist operserv/sqline operserv/staff operserv/kick operserv/ignore operserv/snline" /* What privs (see above) this opertype has */ privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auxpex nickserv/confirm" @@ -1264,7 +1264,7 @@ operserv * The core modules to load for OperServ. This is a space separated list that corresponds * to the base names of the modules for OperServ. This directive is optional, but highly recommended. */ - modules = "os_help os_global os_stats os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_news os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo" + modules = "os_help os_global os_stats os_staff os_mode os_kick os_clearmodes os_akill os_snline os_sqline os_szline os_chanlist os_userlist os_news os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo" /* * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant @@ -1280,12 +1280,12 @@ operserv logmaxusers = yes /* - * These define the default expiration times for, respectively, AKILLs, CHANKILLs, SGLINEs, + * These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs, * SQLINEs, and SZLINEs. */ autokillexpiry = 30d chankillexpiry = 30d - sglineexpiry = 30d + snlineexpiry = 30d sqlineexpiry = 30d szlineexpiry = 30d @@ -1297,11 +1297,11 @@ operserv #akillonadd = yes /* - * If set, this option will make Services send an (SVS)KILL command immediately after SGLINE ADD. - * This eliminates the need for killingthe user after the SGLINE has been added. This directive + * If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD. + * This eliminates the need for killingthe user after the SNLINE has been added. This directive * is optional. */ - #killonsgline = yes + #killonsnline = yes /* * If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD. @@ -1321,13 +1321,13 @@ operserv * - osclearmodes: OperServ's CLEARMODES command was used * - oskick: OperServ's KICK command was used * - osakill: OperServ's AKILL command was used - * - ossgline: OperServ's SGLINE command was used + * - ossnline: OperServ's SNLINE command was used * - ossqline: OperServ's SQLINE command was used * - osszline: OperServ's SZLINE command was used * - osnoop: OperServ's NOOP command was used * - osjupe: OperServ's JUPE command was used * - akillexpire: An AKILL has expired - * - sglineexpire: An SGLINE has expired + * - snlineexpire: An SNLINE has expired * - sqlineexpire: An SQLINE has expired * - szlineexpire: An SZLINE has expired * - exceptionexpire: A session exception has expired @@ -1340,7 +1340,7 @@ operserv * * This directive is optional, if left blank, there will be no notifications. */ - notifications="osglobal osmode osclearmodes oskick osakill ossgline ossqline osszline osnoop osjupe getpass setpass forbid drop" + notifications="osglobal osmode osclearmodes oskick osakill ossnline ossqline osszline osnoop osjupe getpass setpass forbid drop" /* * Enables session limiting. Session limiting prevents users from connecting more than a certain diff --git a/data/tables.sql b/data/tables.sql index 23ba0ca50..deeef41cc 100644 --- a/data/tables.sql +++ b/data/tables.sql @@ -322,7 +322,7 @@ CREATE TABLE anope_os_core ( maxusercnt int(11) NOT NULL default '0', maxusertime int(10) unsigned NOT NULL default '0', akills_count int(11) NOT NULL default '0', - sglines_count int(11) NOT NULL default '0', + snlines_count int(11) NOT NULL default '0', sqlines_count int(11) NOT NULL default '0', szlines_count int(11) NOT NULL default '0' ) ENGINE=MyISAM DEFAULT CHARSET=latin1; @@ -346,11 +346,11 @@ CREATE TABLE anope_os_exceptions ( -- -------------------------------------------------------- -- --- Table structure for table 'anope_os_sxlines' +-- Table structure for table 'anope_os_xlines' -- -DROP TABLE IF EXISTS anope_os_sxlines; -CREATE TABLE anope_os_sxlines ( +DROP TABLE IF EXISTS anope_os_xlines; +CREATE TABLE anope_os_xlines ( type varchar(20) NOT NULL, mask varchar(255) NOT NULL, xby text NOT NULL, diff --git a/docs/Changes b/docs/Changes index d88eae010..7786757fa 100644 --- a/docs/Changes +++ b/docs/Changes @@ -6,6 +6,7 @@ A Added official support for InspIRCd 2.0 A Prevent negaitve mode changes, kicks, bans, and autokicks from affecting people with the 'god' user mode (On UnrealIRCd, usermode +q) A Added nickserv/auxpex permission A Added nickserv ungroup command +A Renamed the SGLINE to be SNLINE Anope Version 1.9.2 -------------------- diff --git a/docs/Changes.conf b/docs/Changes.conf index 944238db6..03d012a14 100644 --- a/docs/Changes.conf +++ b/docs/Changes.conf @@ -6,6 +6,11 @@ SSL module added for SSL support opertype:inherits added to allow opertypes to inherit commands and privs from other opertypes ** MODIFIED CONFIGURATION DIRECTIVES ** +opertype:commands changed operserv/sgline to opserv/snline +operserv:modules changed os_sgline to os_snline +operserv:sglineexpiry changed to operserv:snlineexpiry +operserv:killonsgline changed to operserv:killonsnline +operserv:notifications ossgline changed ossnline ** DELETED CONFIGURATION DIRECTIVES ** diff --git a/docs/Changes.lang b/docs/Changes.lang index 4289ba295..701d4fff4 100644 --- a/docs/Changes.lang +++ b/docs/Changes.lang @@ -12,6 +12,31 @@ Anope Version 1.9.3 NICK_MAIL_TEXT NICK_SENDPASS CHAN_LEVEL_FOUNDER + OPER_STATS_SNLINE_COUNT + OPER_STATS_SNLINE_EXPIRE_DAY + OPER_STATS_SNLINE_EXPIRE_HOURS + OPER_STATS_SNLINE_EXPIRE_MINS + OPER_STATS_SNLINE_EXPIRE_MIN + OPER_STATS_SNLINE_EXPIRE_NONE + OPER_SNLINE_SYNTAX + OPER_SNLINE_UNSUPPORTED + OPER_SNLINE_EXISTS + OPER_SNLINE_ALREADY_COVERED + OPER_SNLINE_REACHED_LIMIT + OPER_SNLINE_ADDED + OPER_SNLINE_CHANGED + OPER_SNLINE_NOT_FOUND + OPER_SNLINE_NO_MATCH + OPER_SNLINE_DELETED + OPER_SNLINE_DELETED_ONE + OPER_SNLINE_DELETED_SEVERAL + OPER_SNLINE_LIST_EMPTY + OPER_SNLINE_LIST_HEADER + OPER_SNLINE_LIST_FORMAT + OPER_SNLINE_VIEW_HEADER + OPER_SNLINE_CLEAR + OPER_HELP_CMD_SNLINE + OPER_HELP_SNLINE *** Mod Strings: NICK_GLIST_REPLY @@ -34,6 +59,34 @@ Anope Version 1.9.3 NICK_SENDPASS_HEAD_3 NICK_SENDPASS_HEAD_4 NICK_SENDPASS_HEAD_5 +<<<<<<< HEAD + OPER_STATS_SGLINE_COUNT + OPER_STATS_SGLINE_EXPIRE_DAY + OPER_STATS_SGLINE_EXPIRE_HOURS + OPER_STATS_SGLINE_EXPIRE_MINS + OPER_STATS_SGLINE_EXPIRE_MIN + OPER_STATS_SGLINE_EXPIRE_NONE + OPER_SGLINE_SYNTAX + OPER_SGLINE_UNSUPPORTED + OPER_SGLINE_EXISTS + OPER_SGLINE_ALREADY_COVERED + OPER_SGLINE_REACHED_LIMIT + OPER_SGLINE_ADDED + OPER_SGLINE_CHANGED + OPER_SGLINE_NOT_FOUND + OPER_SGLINE_NO_MATCH + OPER_SGLINE_DELETED + OPER_SGLINE_DELETED_ONE + OPER_SGLINE_DELETED_SEVERAL + OPER_SGLINE_LIST_EMPTY + OPER_SGLINE_LIST_HEADER + OPER_SGLINE_LIST_FORMAT + OPER_SGLINE_VIEW_HEADER + OPER_SGLINE_CLEAR + OPER_HELP_CMD_SGLINE + OPER_HELP_SGLINE +======= +>>>>>>> 1.9.3-2 Anope Version 1.9.2 -------------------- @@ -85,7 +85,7 @@ How To Add IRCd Support 6) VHOST: Can a user's host be changed on the fly? Enabling this allow
HostServ online. Use 1 for yes, 0 for no.
- 7) SGLINE: Does the IRCd support realname (geocs) bans? Use 1 for yes,
+ 7) SNLINE: Does the IRCd support realname (geocs) bans? Use 1 for yes,
0 for no.
8) SQLINE: Does the IRCd support nick bans? Use 1 for yes, 0 for no.
@@ -172,7 +172,7 @@ How To Add IRCd Support 35) SVSMODE UCMODE: Can we clear user channel modes with SVSMODE? Use
1 for yes, 0 for no.
- 36) SGline Enforce: Does the IRCd enforce SGLINES for us or do we need to
+ 36) SGline Enforce: Does the IRCd enforce SNLINES for us or do we need to
do so? Use 1 for yes, 0 for no.
37) Vhost Character: The character used to represent the vHost mode, if
diff --git a/include/Makefile b/include/Makefile index 4c20fa502..de32199d3 100644 --- a/include/Makefile +++ b/include/Makefile @@ -7,9 +7,6 @@ version.h: Makefile version.sh services.h $(SRCS) services.h: sysconf.h config.h extern.h touch $@ -extern.h: slist.h - touch $@ - clean: (rm -f language.h) diff --git a/include/account.h b/include/account.h index 1a567c317..e44880c29 100644 --- a/include/account.h +++ b/include/account.h @@ -161,7 +161,7 @@ class CoreExport NickCore : public Extensible, public Flags<NickCoreFlag> /* Unsaved data */ time_t lastmail; /* Last time this nick record got a mail */ - SList aliases; /* List of aliases */ + std::list<NickAlias *> aliases; /* List of aliases */ /** Check whether this opertype has access to run the given command string. * @param cmdstr The string to check, e.g. botserv/set/private. diff --git a/include/config.h b/include/config.h index c6dbbefb8..dacf3db06 100644 --- a/include/config.h +++ b/include/config.h @@ -623,16 +623,16 @@ class ServerConfig time_t AutokillExpiry; /* Default expiry time for chan kills */ time_t ChankillExpiry; - /* Default expiry time for SGLine Expire */ - time_t SGLineExpiry; + /* Default expiry time for SNLine Expire */ + time_t SNLineExpiry; /* Default expiry time for SQLines */ time_t SQLineExpiry; /* Default expiry time for SZLine */ time_t SZLineExpiry; /* Actually akill the user when the akill is added */ bool AkillOnAdd; - /* Kill users on SGline */ - bool KillonSGline; + /* Kill users on SNLine */ + bool KillonSNline; /* Kill users on SQline */ bool KillonSQline; /* Send a WALLOPS/GLOBOPS when a user opers */ @@ -649,8 +649,8 @@ class ServerConfig bool WallOSKick; /* Send a WALLOPS/GLOBOPS when someone uses the AKILL command */ bool WallOSAkill; - /* Send a WALLOPS/GLOBOPS when someone uses the SGLINE command */ - bool WallOSSGLine; + /* Send a WALLOPS/GLOBOPS when someone uses the SNLINE command */ + bool WallOSSNLine; /* Send a WALLOPS/GLOBOPS when someone uses the SQLINE command */ bool WallOSSQLine; /* Send a WALLOPS/GLOBOPS when someone uses the SZLINE command */ @@ -661,8 +661,8 @@ class ServerConfig bool WallOSJupe; /* Send a WALLOPS/GLOBOPS when an akill expires */ bool WallAkillExpire; - /* Send a WALLOPS/GLOBOPS when SGLines expire */ - bool WallSGLineExpire; + /* Send a WALLOPS/GLOBOPS when SNLines expire */ + bool WallSNLineExpire; /* Send a WALLOPS/GLOBOPS when SQLines expire */ bool WallSQLineExpire; /* Send a WALLOPS/GLOBOPS when SZLines expire */ diff --git a/include/extern.h b/include/extern.h index 6f41c3977..1e88561e3 100644 --- a/include/extern.h +++ b/include/extern.h @@ -17,7 +17,6 @@ #define E extern CoreExport #define EI extern DllExport -#include "slist.h" #include "hashcomp.h" E void ModuleRunTimeDirCleanUp(); @@ -33,7 +32,6 @@ E IRCDProto *ircdproto; E void kill_user(const std::string &source, const std::string &user, const std::string &reason); E bool bad_password(User *u); -E void sqline(const std::string &mask, const std::string &reason); E void common_unban(ChannelInfo *ci, const std::string &nick); E BotInfo *BotServ; @@ -372,50 +370,6 @@ E NickCore *findcore(const std::string &nick); E NickCore *findcore(const ci::string &nick); E bool is_on_access(User *u, NickCore *nc); -/**** operserv.c ****/ - -E SList akills, sglines, sqlines, szlines; - -E int DefConModesSet; -E Flags<ChannelModeName> DefConModesOn; -E Flags<ChannelModeName> DefConModesOff; -E std::map<ChannelModeName, std::string> DefConModesOnParams; -E bool SetDefConParam(ChannelModeName, std::string &); -E bool GetDefConParam(ChannelModeName, std::string *); -E void UnsetDefConParam(ChannelModeName); - -E void operserv(User *u, char *buf); -E void os_init(); - -E int add_akill(User *u, const char *mask, const char *by, const time_t expires, const char *reason); -E int check_akill(const char *nick, const char *username, const char *host, const char *vhost, const char *ip); -E void expire_akills(); -E void oper_global(char *nick, const char *fmt, ...); - -E int add_sgline(User *u, const char *mask, const char *by, time_t expires, const char *reason); -E int check_sgline(const char *nick, const char *realname); -E void expire_sglines(); - -E int add_sqline(User *u, const char *mask, const char *by, time_t expires, const char *reason); -E int check_sqline(const char *nick, int nick_change); -E void expire_sqlines(); -E int check_chan_sqline(const char *chan); - -E int add_szline(User * u, const char *mask, const char *by, - time_t expires, const char *reason); -E void expire_szlines(); -E int check_szline(const char *nick, char *ip); - -E void server_global(Server *s, const std::string &message); - -E std::vector<NewsItem *> News; - -E bool CheckDefCon(DefconLevel Level); -E bool CheckDefCon(int level, DefconLevel Level); -E void AddDefCon(int level, DefconLevel Level); -E void DelDefCon(int level, DefconLevel Level); -E std::vector<std::bitset<32> > DefCon; - /**** process.c ****/ E int allow_ignore; @@ -463,19 +417,6 @@ E int exception_add(User * u, const char *mask, const int limit, const char *reason, const char *who, const time_t expires); -/**** slist.c ****/ -E int slist_add(SList *slist, void *item); -E void slist_clear(SList *slist, int free); -E int slist_delete(SList *slist, int index); -E int slist_delete_range(SList *slist, const char *range, slist_delcheckcb_t cb, ...); -E int slist_enum(SList *slist, const char *range, slist_enumcb_t cb, ...); -E int slist_full(SList *slist); -E int slist_indexof(SList *slist, void *item); -E void slist_init(SList *slist); -E void slist_pack(SList *slist); -E int slist_remove(SList *slist, void *item); -E int slist_setcapacity(SList *slist, int16 capacity); - /**** sockets.cpp ****/ E SocketEngine socketEngine; E int32 TotalRead; diff --git a/include/modules.h b/include/modules.h index 98dfd6d3e..963e07a4c 100644 --- a/include/modules.h +++ b/include/modules.h @@ -713,13 +713,13 @@ class CoreExport Module * @param ak The akill * @return EVENT_CONTINUE to let other modules decide, EVENT_STOP to halt the command and not process it */ - virtual EventReturn OnAddAkill(User *u, Akill *ak) { return EVENT_CONTINUE; } + virtual EventReturn OnAddAkill(User *u, XLine *ak) { return EVENT_CONTINUE; } /** Called before an akill is deleted * @param u The user removing the akill * @param ak The akill, can be NULL for all akills! */ - virtual void OnDelAkill(User *u, Akill *ak) { } + virtual void OnDelAkill(User *u, XLine *ak) { } /** Called after an exception has been added * @param u The user who added it @@ -734,20 +734,20 @@ class CoreExport Module */ virtual void OnExceptionDel(User *u, Exception *ex) { } - /** Called before a SXLine is added - * @param u The user adding the SXLine - * @param sx The SXLine - * @param Type The type of SXLine this is + /** Called before a XLine is added + * @param u The user adding the XLine + * @param sx The XLine + * @param Type The type of XLine this is * @return EVENT_CONTINUE to let other modules decide, EVENT_STOP to halt the command and not process it */ - virtual EventReturn OnAddSXLine(User *u, SXLine *sx, SXLineType Type) { return EVENT_CONTINUE; } + virtual EventReturn OnAddXLine(User *u, XLine *x, XLineType Type) { return EVENT_CONTINUE; } - /** Called before a SXLine is deleted - * @param u The user deleting the SXLine - * @param sx The SXLine, can be NULL for all SXLines - * @param Type The type of SXLine this is + /** Called before a XLine is deleted + * @param u The user deleting the XLine + * @param sx The XLine, can be NULL for all XLines + * @param Type The type of XLine this is */ - virtual void OnDelSXLine(User *u, SXLine *sx, SXLineType Type) { } + virtual void OnDelXLine(User *u, XLine *x, XLineType Type) { } /** Called when a server quits * @param server The server @@ -1118,7 +1118,7 @@ enum Implementation /* OperServ */ I_OnOperServHelp, I_OnDefconLevel, I_OnAddAkill, I_OnDelAkill, I_OnExceptionAdd, I_OnExceptionDel, - I_OnAddSXLine, I_OnDelSXLine, + I_OnAddXLine, I_OnDelXLine, /* Database */ I_OnPostLoadDatabases, I_OnSaveDatabase, I_OnLoadDatabase, diff --git a/include/operserv.h b/include/operserv.h new file mode 100644 index 000000000..ff2149372 --- /dev/null +++ b/include/operserv.h @@ -0,0 +1,231 @@ +/* OperServ support + * + * (C) 2008-2010 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + * $Id$ + * + */ + +extern CoreExport std::vector<NewsItem *> News; +extern CoreExport std::vector<std::bitset<32> > DefCon; +extern CoreExport bool DefConModesSet; +extern CoreExport Flags<ChannelModeName> DefConModesOn; +extern CoreExport Flags<ChannelModeName> DefConModesOff; +extern CoreExport std::map<ChannelModeName, std::string> DefConModesOnParams; + +class XLineManager; +extern CoreExport XLineManager *SGLine; +extern CoreExport XLineManager *SZLine; +extern CoreExport XLineManager *SQLine; +extern CoreExport XLineManager *SNLine; |
