X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/ebe5601796be4881523149bba1fced167fdf210e..16c19d9c7d813d8edb36b801635c03128e3aaf10:/doc/reference.conf diff --git a/doc/reference.conf b/doc/reference.conf index 5ff7fdc..7134619 100755 --- a/doc/reference.conf +++ b/doc/reference.conf @@ -41,8 +41,9 @@ /* Extensions: * - * Charybdis contains several extensions that are not enabled by default. - * To use them, uncomment the lines below. + * ShadowIRCd contains several extensions that are not enabled by default. + * To use them, uncomment the lines below. More information on each extension + * can be found in extensions/README * * Channel mode +-A (admin only) -- chm_adminonly.so * Channel mode +-O (oper only) -- chm_operonly.so @@ -60,9 +61,16 @@ * Server bans (+b $s:mask) -- extb_server.so * SSL bans (+b $z) -- extb_ssl.so * HURT system -- hurt.so - * Host mangling (umode +h) -- ip_cloaking.so + * New host mangling (umode +x) -- ip_cloaking.so * Find channel forwards -- m_findforwards.so * /identify support -- m_identify.so + * /mkpassword support -- m_mkpasswd.so + * Send message to all admins network-wide -- m_adminwall.so + * /opme - op self in opless channels, admin only -- m_opme.so + * /ojoin - join despite restrictions, admin only -- m_ojoin.so + * /omode - force modes in channels, admin only -- m_omode.so + * /olist - see all channels in /list, oper only -- m_olist.so + * /forcejoin - force join users, admin only -- m_force.so * Opers cannot be invisible (umode +i) -- no_oper_invis.so * Far connection notices (snomask +F) -- sno_farconnect.so * Remote k/d/x line active notices -- sno_globalkline.so @@ -70,29 +78,37 @@ * /whois notifications (snomask +W) -- sno_whois.so */ #loadmodule "extensions/chm_adminonly.so"; -#loadmodule "extensions/chm_operonly.so"; +loadmodule "extensions/chm_operonly.so"; #loadmodule "extensions/chm_sslonly.so"; #loadmodule "extensions/chm_operonly_compat.so"; #loadmodule "extensions/chm_quietunreg_compat.so"; #loadmodule "extensions/chm_sslonly_compat.so"; #loadmodule "extensions/createauthonly.so"; -#loadmodule "extensions/extb_account.so"; -#loadmodule "extensions/extb_canjoin.so"; -#loadmodule "extensions/extb_channel.so"; -#loadmodule "extensions/extb_extgecos.so"; -#loadmodule "extensions/extb_oper.so"; -#loadmodule "extensions/extb_realname.so"; +loadmodule "extensions/extb_account.so"; +loadmodule "extensions/extb_canjoin.so"; +loadmodule "extensions/extb_channel.so"; +loadmodule "extensions/extb_extgecos.so"; +loadmodule "extensions/extb_oper.so"; +loadmodule "extensions/extb_realname.so"; #loadmodule "extensions/extb_server.so"; #loadmodule "extensions/extb_ssl.so"; #loadmodule "extensions/hurt.so"; -#loadmodule "extensions/ip_cloaking.so"; +loadmodule "extensions/ip_cloaking.so"; #loadmodule "extensions/m_findforwards.so"; -#loadmodule "extensions/m_identify.so"; +loadmodule "extensions/m_identify.so"; +loadmodule "extensions/m_mkpasswd.so"; +#loadmodule "extensions/m_adminwall.so"; +#loadmodule "extensions/m_opme.so"; +#loadmodule "extensions/m_ojoin.so"; +#loadmodule "extensions/m_omode.so"; +#loadmodule "extensions/m_olist.so"; +#loadmodule "extensions/m_force.so"; #loadmodule "extensions/no_oper_invis.so"; -#loadmodule "extensions/sno_farconnect.so"; -#loadmodule "extensions/sno_globalkline.so"; -#loadmodule "extensions/sno_globaloper.so"; +loadmodule "extensions/sno_farconnect.so"; +loadmodule "extensions/sno_globalkline.so"; +loadmodule "extensions/sno_globaloper.so"; #loadmodule "extensions/sno_whois.so"; + /* serverinfo {}: Contains information about the server. (OLD M:) */ serverinfo { @@ -110,7 +126,7 @@ serverinfo { /* description: the description of our server. '[' and ']' may not * be used here for compatibility with older servers. */ - description = "charybdis test server"; + description = "shadowircd test server"; /* network info: the name and description of the network this server * is on. Shown in the 005 reply and used with serverhiding. @@ -142,8 +158,11 @@ serverinfo { /* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */ ssl_dh_params = "etc/dh.pem"; - /* ssld_count: number of ssld processes you want to start, if you have a really busy - * server, using N-1 where N is the number of cpu/cpu cores you have might be useful + /* ssld_count: number of ssld processes you want to start, if you + * have a really busy server, using N-1 where N is the number of + * cpu/cpu cores you have might be useful. A number greater than one + * can also be useful in case of bugs in ssld and because ssld needs + * two file descriptors per SSL connection. */ ssld_count = 1; @@ -213,19 +232,19 @@ class "users" { */ number_per_ip_global = 5; - /* cidr_bitlen: Limits numbers of connections from a subnet size + /* cidr_ipv4_bitlen: Limits numbers of connections from a subnet size + */ + cidr_ipv4_bitlen = 24; + + /* cidr_ipv6_bitlen: Limits numbers of connections from a subnet size * the following example makes the subnet /64 this is useful * for IPv6 connections in particular - * Also note that the way charybdis is written if you have - * compiled support for IPv6, IPv4 cidr bitlens need to be modified - * Basically to get the approriate length add 96 to the IPv4 length - * For example for a /24 do 96+24 = 120 - * */ - cidr_bitlen = 64; + cidr_ipv6_bitlen = 64; /* number_per_cidr: Number of connections to allow from a subnet of the - * size given in cidr_bitlen. 4 seems to be a good default to me. + * size given in cidr_ipv4_bitlen/cidr_ipv6_bitlen. + * 4 seems to be a good default to me. */ number_per_cidr = 4; @@ -319,6 +338,17 @@ auth { */ spoof = "I.still.hate.packets"; + /* autojoin: Channel (or channels, comma-seperated) to join users + * in this auth block to on connect. Note that this won't join + * the user through any bans or otherwise restrictive chmodes. + */ + autojoin = "#shadowircd,#test"; + + /* autojoin_opers : Channel (or channels, comma-seperated) to join + * opers to on oper-up. + */ + autojoin_opers = "#opers,#help"; + /* Possible flags in auth: * * encrypted | password is encrypted with mkpasswd @@ -374,7 +404,7 @@ privset "local_op" { * * oper:local_kill: allows local users to be /KILL'd * oper:global_kill: allows local and remote users to be /KILL'd - * oper:remote: allows remote SQUIT and CONNECT + * oper:routing: allows remote SQUIT and CONNECT * oper:kline: allows KLINE and DLINE * oper:unkline: allows UNKLINE and UNDLINE * snomask:nick_changes: allows oper to see nickchanges via snomask +n @@ -401,7 +431,7 @@ privset "local_op" { privset "server_bot" { /* extends: a privset to inherit in this privset */ extends = "local_op"; - privs = oper:global_kill, oper:kline, oper:remoteban, snomask:nick_changes; + privs = oper:kline, oper:remoteban, snomask:nick_changes; }; privset "global_op" { @@ -438,6 +468,12 @@ operator "god" { */ #rsa_public_key_file = "/usr/local/ircd/etc/oper.pub"; + /* fingerprint: if specified, the oper's client certificate + * fingerprint will be checked against the specified fingerprint + * below. + */ + #fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b"; + /* umodes: the specific umodes this oper gets when they oper. * If this is specified an oper will not be given oper_umodes * These are described above oper_only_umodes in general {}; @@ -650,6 +686,31 @@ exempt { /* The channel block contains options pertaining to channels */ channel { + /* autochanmodes: Modes that will be set on a unregistered channel + * when the first user joins it. + */ + autochanmodes = "nt"; + + /* halfop: Enable/disable channel mode +h, which adds halfop, + * a channel status below op that has op powers (kick, ban, mode, etc.) + * halfops can only kick/devoice/etc people who are +v or + * do not have any channel status. Disabling this via rehash will + * cause things which are rather confusing to occur, it is highly + * recommended to restart if you wish to disable this option, though + * it may be enabled by rehash with no problems. + */ + use_halfop = yes; + + /* owner: Enable/disable channel mode +a, which adds owner, + * a channel status above op that has op powers (kick, ban, mode, etc.) + * owners can only be kicked/deownered by other owners, and may kick + * or deop ops and halfops. Disabling this via rehash will + * cause things which are rather confusing to occur, it is highly + * recommended to restart if you wish to disable this option, though + * it may be enabled by rehash with no problems. + */ + use_owner = yes; + /* invex: Enable/disable channel mode +I, a n!u@h list of masks * that can join a +i channel without an invite. */ @@ -733,6 +794,34 @@ channel { * ratbox-services does. */ kick_on_split_riding = no; + + /* only ascii channels: disable local users joining channels + * containing characters outside the range 33-126 (non-printable + * or non-ASCII). + */ + only_ascii_channels = no; + + /* cycle_host_change: Should a user be cycled in the channels + * they're in when their host changes. If set to no, this may + * cause client desyncs. + */ + cycle_host_change = yes; + + /* host_in_topic: Defines whether or not the topicsetter's + * host is shown when users request the TOPIC. If this option + * is set to no, it will only show the nick of the topicsetter. + */ + host_in_topic = yes; + + /* resv_forcepart: force any local users to part a channel + * when a RESV is issued. + */ + resv_forcepart = yes; + + /* kick_no_rejoin_time: the amount of time that a user cannot + * rejoin for after being kicked out of a +J channel. + */ + kick_no_rejoin_time = 30 seconds; }; @@ -762,7 +851,7 @@ serverhide { /* These are the blacklist settings. * You can have multiple combinations of host and rejection reasons. - * They are used in pairs of one host/rejection reason, or multiple hosts/rejection reason. + * They are used in pairs of one host/rejection reason. * * These settings should be adequate for most networks, and are (presently) * required for use on AthemeNet. @@ -822,6 +911,14 @@ alias "MemoServ" { target = "MemoServ"; }; +alias "HostServ" { + target = "HostServ"; +}; + +alias "BotServ" { + target = "BotServ"; +}; + alias "NS" { target = "NickServ"; }; @@ -838,6 +935,14 @@ alias "MS" { target = "MemoServ"; }; +alias "HS" { + target = "HostServ"; +}; + +alias "BS" { + target = "BotServ"; +}; + /* The general block contains many of the options that were once compiled * in options in config.h. The general block is read at start time. */ @@ -864,10 +969,10 @@ general { /* default umodes: umodes to set upon connection * If you have enabled the ip_cloaking extension, and you wish for - * incoming clients to be set +h upon connection, add +h to the umode - * string below. + * incoming clients to be cloaked upon connection, +x must be in + * the umode string below. */ - default_umodes = "+i"; + default_umodes = "+ix"; /* default operstring: defines the default oper response * in /whois queries, eg "is an IRC Operator". @@ -1057,6 +1162,12 @@ general { * protected. */ operspy_dont_care_user_info = no; + /* secret channels in whois: display secret channels in /whois + * even if operspy was not used, as long as the oper doing the + * whois has the oper:spy priv. this will not send any kind of + * server notice. */ + secret_channels_in_whois = no; + /* caller id wait: time between notifying a +g user that somebody * is messaging them. */ @@ -1123,6 +1234,9 @@ general { * +s - servnotice - See server notices * +w - wallop - See oper and server generated WALLOPS * +z - operwall - See operwalls + * +C - noctcp - Block CTCPs to user. + * +V - noinvite - Block INVITE to user. + * +B - bot - Marks as a bot. */ /* oper only umodes: usermodes only opers may set */