From c8c23158a4ff74822d6c7d201dc53d879e3d91e8 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 22 Apr 2011 03:16:11 -0400 Subject: Moved the core pseudo clients out into their own modules --- data/example.conf | 273 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 208 insertions(+), 65 deletions(-) (limited to 'data') diff --git a/data/example.conf b/data/example.conf index 5ad787180..66588cdee 100644 --- a/data/example.conf +++ b/data/example.conf @@ -470,35 +470,6 @@ options */ #hidestatso = yes - /* - * If set, Services will send global messages on starting up and shutting - * down/restarting. - * - * This directive is optional. - */ - #globaloncycle = yes - - /* - * This is the global message that will be sent when Services are being - * shutdown/restarted. This directive is only required if you enable - * globaloncycle above. - */ - globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone" - - /* - * This is the global message that will be sent when Services (re)join the - * network. This directive is only required if you enable globaloncycle above. - */ - globaloncycleup = "Services are now back online - have a nice day" - - /* - * If set, Services will hide the IRC operator's nick in a global - * message/notice. - * - * This directive is optional. - */ - #anonymousglobal = yes - /* * Prevents users from registering their nick if they are not connected * for at least the given number of seconds. @@ -590,8 +561,8 @@ log /* * Target(s) to log to, which may be one of the following: * - a channel name + * - a filename * - globops - * - filename */ target = "services.log" /* Log to both services.log and the channel #services */ @@ -668,7 +639,7 @@ log log { target = "globops" - admin = "operserv/global operserv/mode operserv/kick opeserv/akill operserv/s*line operserv/noop operserv/jupe */forbid nickserv/getpass */drop" + admin = "global/* operserv/mode operserv/kick opeserv/akill operserv/s*line operserv/noop operserv/jupe */forbid nickserv/getpass */drop" } /* @@ -690,6 +661,7 @@ log * chanserv/set - Can modify the settings of any channel (incl. changing of the owner and password!) * memoserv/info - Can see any information with /memoserv info * memoserv/set-limit - Can set the limit of max stored memos on any user and channel + * memoserv/no-limit - Can send memos through limits and throttles * nickserv/auspex - Can see any information with /nickserv info * nickserv/confirm - Can confirm other users nicknames * nickserv/drop - Can drop other users nicks @@ -703,8 +675,8 @@ log * chanserv/mode * * chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/entrymsg - * chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/opnotice - * chanserv/saset/peace chanserv/saset/persist chanserv/saset/private chanserv/saset/restricted + * chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/opnotice chanserv/saset/restricted + * chanserv/saset/peace chanserv/saset/persist chanserv/saset/private * chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops * chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock * chanserv/saset/url chanserv/saset/xop @@ -720,10 +692,12 @@ log * * hostserv/set hostserv/del * - * operserv/global operserv/news operserv/stats operserv/kick + * global/global + * + * operserv/news operserv/stats operserv/kick * operserv/mode operserv/session operserv/modlist operserv/ignore * operserv/chankill operserv/akill operserv/sqline operserv/snline - * operserv/szline operserv/staff operserv/defcon operserv/config + * operserv/szline operserv/staff operserv/config * operserv/modload operserv/jupe operserv/set operserv/noop * operserv/quit operserv/update operserv/reload operserv/restart * operserv/shutdown operserv/svsnick operserv/oline @@ -767,7 +741,7 @@ opertype inherits = "Services Operator" - commands = "chanserv/access/list chanserv/drop chanserv/forbid chanserv/getkey chanserv/set/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/global operserv/news operserv/jupe operserv/svsnick operserv/stats operserv/oline operserv/defcon operserv/noop" + commands = "chanserv/access/list chanserv/drop chanserv/forbid chanserv/getkey chanserv/set/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svsnick operserv/stats operserv/oline operserv/noop global/*" privs = "*" } @@ -910,6 +884,13 @@ dns timeout = 5 } +/* + * [RECOMMENDED] NickServ + * + * Comment the following line to disable NickServ. + */ +module { name = "ns_main" } + /* * [REQUIRED] NickServ Config * @@ -1133,6 +1114,13 @@ nickserv ajoinmax = 10 } +/* + * [RECOMMENDED] ChanServ + * + * Comment the following line to disable ChanServ. + */ +module { name = "cs_main" } + /* * [RECOMMENDED] ChanServ Config * @@ -1158,7 +1146,7 @@ chanserv * * This directive is optional, but highly recommended. */ - modules = "cs_help cs_register cs_set cs_saset cs_saset_noexpire cs_set_bantype cs_set_description cs_set_entrymsg cs_set_founder cs_set_keeptopic cs_set_opnotice cs_set_peace cs_set_persist cs_set_private cs_set_restricted cs_set_secure cs_set_securefounder cs_set_secureops cs_set_signkick cs_set_successor cs_set_topiclock cs_set_xop cs_xop cs_access cs_akick cs_drop cs_ban cs_clearusers cs_modes cs_getkey cs_invite cs_kick cs_list cs_topic cs_info cs_forbid cs_suspend cs_status cs_unban cs_clone cs_mode" + modules = "cs_help cs_register cs_set cs_saset cs_saset_noexpire cs_set_bantype cs_set_description cs_set_founder cs_set_keeptopic cs_set_opnotice cs_set_peace cs_set_persist cs_set_private cs_set_restricted cs_set_secure cs_set_securefounder cs_set_secureops cs_set_signkick cs_set_successor cs_set_topiclock cs_set_xop cs_xop cs_access cs_akick cs_drop cs_ban cs_clearusers cs_modes cs_getkey cs_invite cs_kick cs_list cs_topic cs_info cs_forbid cs_suspend cs_status cs_unban cs_clone cs_mode" /* * The default options for newly registered channels. Note that changing these options @@ -1276,10 +1264,16 @@ chanserv } /* - * [OPTIONAL] MemoServ Config + * [OPTIONAL] MemoServ * - * This section is used to set up the Memo Service pseudo-client. Unless specified otherwise, - * all directives are required if you wish to use MemoServ. + * Comment the following line to disable MemoServ. + */ +module { name = "ms_main" } + +/* [OPTIONAL] MemoServ configuration + * + * This section is used to set up the Memo Service pseudo-client. This is only required if ms_main + * is being loaded. */ memoserv { @@ -1322,15 +1316,6 @@ memoserv */ senddelay = 3s - /* - * Should we notify all appropriate users of a new memo? This applies in cases where a memo is - * sent to a nick which is in the group of another nick. Note that, unlike before, it is currently - * more efficient to enable this. - * - * This directive is optional. - */ - notifyall = yes - /* * Allow the use of memo receipts for the following groups: * @@ -1343,11 +1328,16 @@ memoserv } /* - * [OPTIONAL] BotServ Config + * [OPTIONAL] BotServ * - * This section is used to set up the Bot Service pseudo-client. The block is optional and can be - * removed if you do not wish to have BotServ on your network. Unless specified otherwise, - * all directives are required if you do wish to use BotServ. + * Comment the following line to disable BotServ. + */ +module { name = "bs_main" } + +/* [OPTIONAL] BotServ configuration + * + * This section is used to set up the Bot Service pseudo-client. This is only required if ms_main + * is being loaded. */ botserv { @@ -1442,13 +1432,18 @@ botserv #fantasycharacter = "!" } +/* + * [OPTIONAL] HostServ + * + * Comment the following line to disable HostServ. + */ +module { name = "hs_main" } + /* * [OPTIONAL] HostServ Config * * This section is used to set up the vHost Service pseudo-client. * - * The block is optional and can be removed if you do not wish to have HostServ on your network. - * * Unless specified otherwise, all directives are required if you do wish to use HostServ. */ hostserv @@ -1473,6 +1468,13 @@ hostserv modules = "hs_help hs_on hs_off hs_group hs_list hs_set hs_setall hs_del hs_delall" } +/* + * [RECOMMENDED] OperServ + * + * Comment the following line to disable OperServ. + */ +module { name = "os_main" } + /* * [RECOMMENDED] OperServ Config * @@ -1498,7 +1500,7 @@ operserv * * This directive is optional, but highly recommended. */ - modules = "os_help os_global os_stats os_staff os_mode os_kick 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_modload os_modunload os_modreload os_modlist os_modinfo os_config os_login" + modules = "os_help os_stats os_staff os_mode os_kick 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_chankill os_svsnick os_oline os_modload os_modunload os_modreload os_modlist os_modinfo os_config os_login" /* * If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant @@ -1650,6 +1652,13 @@ operserv opersonly = yes } +/* + * [RECOMMENDED] Global + * + * Comment the following line to disable Global. + */ +module { name = "gl_main" } + /* * [RECOMMENDED] Global Config * @@ -1671,6 +1680,43 @@ global * (real name) of the client. */ description = "Global Noticer" + + /* + * 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 = "gl_help gl_global" + + /* + * If set, Services will send global messages on starting up and shutting + * down/restarting. + * + * This directive is optional. + */ + #globaloncycle = yes + + /* + * This is the global message that will be sent when Services are being + * shutdown/restarted. This directive is only required if you enable + * globaloncycle above. + */ + globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone" + + /* + * This is the global message that will be sent when Services (re)join the + * network. This directive is only required if you enable globaloncycle above. + */ + globaloncycleup = "Services are now back online - have a nice day" + + /* + * If set, Services will hide the IRC operator's nick in a global + * message/notice. + * + * This directive is optional. + */ + #anonymousglobal = yes } /* @@ -1750,18 +1796,10 @@ defcon #globalondefcon = yes /* - * If set, Services will send the global message defined in the message directive on DefCon level - * changes. + * Defines a message that will be sent on DefCon level changes. * * This directive is optional. */ - #globalondefconmore = yes - - /* - * Defines the message that will be sent on DefCon level changes when globalondefconmore is set. - * - * This directive is required only when globalondefconmore is set. - */ #message = "Put your message to send your users here. Dont forget to uncomment globalondefconmore" /* @@ -2208,3 +2246,108 @@ ns_set_misc desc = "Associate an ICQ number with the nick" } + +/* + * os_defcon + * + * Allows you to set services in defcon mode, which can be used to restrict services access + * during bot attacks. + */ +#module { "os_defcon" } +os_defcon +{ + /* + * Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation + * while level 1 constitutes the most restrictive operation. If this setting is left out or set to + * 0, DefCon will be disabled and the rest of this block will be ignored. + */ + #defaultlevel = 5 + + /* + * The following 4 directives define what operations will take place when DefCon is set to levels + * 1 through 4. Each level is a list that must be separated by spaces. + * + * The following operations can be defined at each level: + * - nonewchannels: Disables registering new channels + * - nonewnicks: Disables registering new nicks + * - nomlockchanges: Disables changing MLOCK on registered channels + * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive + * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive + * - nonewclients: KILL any new clients trying to connect + * - operonly: Services will ignore all non-IRCops + * - silentoperonly: Services will silently ignore all non-IRCops + * - akillnewclients: AKILL any new clients trying to connect + * - nonewmemos: No new memos will be sent to block MemoServ attacks + */ + level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions" + level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions" + level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly" + level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients" + + /* + * New session limit to use when a DefCon level is using "reduced" session limiting. + */ + #sessionlimit = 2 + + /* + * Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the + * network. + */ + #akillexpire = 5m + + /* + * The channel modes to set on all channels when the DefCon channel mode system is in use. + * + * Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have + * the mode setting selected, Services will set the reverse on all channels, e.g. if this setting + * is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all + * channels will be set to -RN. You don't want to set this to +k for example, because when DefCon + * is removed all channels with -k. + * + * Note 2: MLOCKed modes will not be lost. + */ + #chanmodes = "+R" + + /* + * This value can be used to automatically return the network to DefCon level 5 after the specified + * time period, just in case any IRC Operator forgets to remove a DefCon setting. + * + * This directive is optional. + */ + #timeout = 15m + + /* + * If set, Services will send a global message on DefCon level changes. + * + * This directive is optional. + */ + #globalondefcon = yes + + /* + * If set, Services will send the global message defined in the message directive on DefCon level + * changes. + * + * This directive is optional. + */ + #globalondefconmore = yes + + /* + * Defines the message that will be sent on DefCon level changes when globalondefconmore is set. + * + * This directive is required only when globalondefconmore is set. + */ + #message = "Put your message to send your users here. Dont forget to uncomment globalondefconmore" + + /* + * Defines the message that will be sent when DefCon is returned to level 5. This directive is optional, + * and will also override globalondefcon and globalondefconmore when set. + */ + #offmessage = "Services are now back to normal, sorry for any inconvenience" + + /* + * Defines the reason to use when clients are KILLed or AKILLed from the network while the proper + * DefCon operation is in effect. + */ + #akillreason = "This network is currently not accepting connections, please try again later" +} + -- cgit