]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - conf/modules.conf.example
Fix bug discovered by Ankit, m_rline loaded without regex provider causes segfault...
[user/henk/code/inspircd.git] / conf / modules.conf.example
index 0eee4541ed8d32a0cb9d603e6d017c6240c4b62c..6edd7026996037b52490b90148544245c8f1bbc7 100644 (file)
 #<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-"
 #  requires="NickServ" uline="yes">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Allowinvite module: Gives channel mode +A to allow all users to use
+# /invite, and extban A to deny invite from specific masks
+#<module name="m_allowinvite.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Alltime module: Shows time on all connected servers at once
 #<module name="m_alltime.so">
 #<callerid maxaccepts="16"
 #          operoverride="no"
 #          tracknick="no"
-#          cooldown="60"
+#          cooldown="60">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # CAP module: Provides the CAP negotiation mechanism seen in
 # filtering using simple string matches (channel mode +g)
 #<module name="m_chanfilter.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Channel logging module: used to send snotice output to channels, to
+# allow staff to centrally monitor and discuss network activity.
+#
+# The "channel" field is where you want the messages to go, "snomasks"
+# is what snomasks you want to be sent to that channel. Multiple tags
+# are allowed.
+#<module name="m_chanlog.so">
+#<chanlog snomasks="AOcC" channel="#opers">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Channelban: Implements extended ban j:, which stops anyone in already
+# in a channel matching a mask like +b j:#channel*mask from joining.
+#<module name="m_channelban.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Chanprotect module: gives +q and +a channel modes
 #<module name="m_chanprotect.so">
 # charmap        - A list of chars accepted as valid by the /CHGHOST #
 #                  and /SETHOST commands. Also note that the list is # 
 #                  case-sensitive.                                   #
-#<hostname charmap="abcdefghijklmnopqrstuvwxyz.-_/0123456789">
+#<hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # CHGIDENT module: Adds the /CHGIDENT command
 # Foobar module: does nothing - historical relic
 #<module name="m_foobar.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Gecosban: Implements extended ban r:, which stops anyone matching
+# a mask like +b r:*realname?here* from joining a channel.
+#<module name="m_gecosban.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # GeoIP module: Allows the server admin to ban users by country code.
 #<module name="m_geoip.so">
 # code such as TR, GB, or US.                                         #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Globops module: gives /GLOBOPS and usermode +g
+# Globops module: gives /GLOBOPS and SNOMASK +g
 #<module name="m_globops.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Ident: Provides RFC 1413 ident lookup support
+# When this module is loaded <connect:allow> tags may have an optional
+# useident="yes|no" boolean value, determining whether or not to lookup
+# ident on users matching that connect tag.
 #<module name="m_ident.so">
 #
 #-#-#-#-#-#-#-#-#-#-#-#-   IDENT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
 # This is supported by mIRC, x-chat, klient, and maybe more.
 #<module name="m_namesx.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Nickban: Implements extended ban n:, which stops anyone matching
-# a mask like +b n:nick!user@host from changing their nick on channel.
-#<module name="m_nickban.so">
-#
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Nickchange flood protection module: Allows up to X nick changes in Y seconds.
 # Provides channel mode +F.
 # No ctcp module: Adds the channel mode +C to block CTCPs
 #<module name="m_noctcp.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Noinvite module: Gives channel mode +V
-#<module name="m_noinvite.so">
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # No kicks module: Adds the +Q channel mode
 #<module name="m_nokicks.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# No nicks module: Adds the +N channel mode
+# No nicks module: Adds the +N channel mode, as well as the +b N:
+# extended bantype. +N stops all users from changing their nick,
+# the +b N: extban stops anyone from matching a +b N:nick!user@host
+# mask from changing their nick.
 #<module name="m_nonicks.so">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Oper flood module: Removes flood limits from users upon opering up
 #<module name="m_operflood.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Oper invex/extban module: Adds +beI type O, to ban, exempt, and invex
+# given oper type masks.
+# e.g, /mode #channel +iI O:* is equivilant to chmode +O, but you
+# may also, e.g. /mode #channel +iI O:AdminTypeOnly to only allow admins.
+#
+# +be work in a similar fashion.
+#
+#<module name="m_operinvex.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Oper Join module: Auto-joins opers to a channel upon oper-up
 #<module name="m_operjoin.so">
 # channels -may- need support from your Services package to function
 # properly with them. This adds channel mode +P.
 #<module name="m_permchannels.so">
+#
+# You may also create channels on startup by using the <permchannels> block.
+#<permchannels channel="#opers" modes="is" topic="Opers only.">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # PostgreSQL module: Allows other SQL modules to access PgSQL databases
 #<database name="mydb" username="myuser" password="mypass" hostname="localhost" id="my_database" ssl="no">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Proxy scan module: Scans locally connecting clients for proxies.
-#<module name="m_proxyscan.so">
-
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# Quietban: Implements extended ban q:, which stops anyone matching
-# a mask like +b q:nick!user@host from speaking on channel.
-#<module name="m_quietban.so">
+# Muteban: Implements extended ban m:, which stops anyone matching
+# a mask like +b m:nick!user@host from speaking on channel.
+#<module name="m_muteban.so">
 #
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Redirect module: Adds channel redirection (mode +L)
 #<module name="m_redirect.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for Glob or wildcard (?/*) matching.
+# You must have at least 1 provider loaded to use m_filter or m_rline
+# modules. This module has no additional requirements, as it uses the
+# matching already present in InspIRCd core.
+#<module name="m_regex_glob.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for PCRE (Perl-Compatible Regular
+# Expressions). You need libpcre installed to compile and load this
+# module. You must have at least 1 provider loaded to use m_filter or
+# m_rline.
+#<module name="m_regex_pcre.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for POSIX Regular Expressions.
+# You shouldn't need any additional libraries on a POSIX-compatible
+# system (ie: any Linux, BSD, but not Windows). You must have at least
+# 1 provider loaded to use m_filter or m_rline.
+# On POSIX-compliant systems, regex syntax can be found by using the
+# command: 'man 7 regex'.
+#<module name="m_regex_posix.so">
+
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Regular Expression Provider for TRE Regular Expressions.
+# This is the same regular expression engine used by UnrealIRCd, so
+# if you are most familiar with the syntax of /spamfilter from there,
+# this is the provider you want. You need libtre installed in order
+# to compile and load this module.
+#<module name="m_regex_tre.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Registered users only channel creation
 # Allows only registered users and opers to create new channels.
 # If you wish to re-check a user when they change nickname (can be
 # useful under some situations, but *can* also use CPU with more users
 # on a server) then set the following configuration value:
-#<rline matchonnickchange="yes">
+# Also, this is where you set what Regular Expression engine is to be
+# used. If you ever change it while running, all of your R-Lines will be
+# wiped. This is the regex engine used by all R-Lines set, and
+# m_regex_<engine>.so must be loaded, or rline will be nonfunctional
+# until you load it or change the engine to one that is loaded.
+#<rline matchonnickchange="yes" engine="pcre">
+# Generally, you will not want to use 'glob' here, as this turns
+# rline into just another gline. The exceptions are that rline will
+# always use the full nick!user@host realname string, rather than only
+# user@host, but beware that only the ? and * wildcards are available,
+# and are the only way to specify where the space can occur if you do
+# use glob. For this reason, is recommended to use a real regex engine
+# so that at least \s or [[:space:]] is available.
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # JSON-RPC module: Encode and decode JSON-RPC requests for modules
 # Services support module: Adds several usermodes such as +R and +M
 # this module implements the 'identified' state via account names (AC)
 # and is similar in operation to the way asuka and ircu handle services.
+#
+# Also of note is that this module implements two extbans:
+# +b R: (stop matching account names from joining)
+# +b M: (stop matching account names from speaking)
 #                                                                       
 # N O T E!!
 #  >>  This CAN NOT be used at the same time as m_services <<
 # SETNAME module: Adds the /SETNAME command
 #<module name="m_setname.so">
 
+#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
+# Serverban: Implements extended ban s:, which stops anyone connected
+# to a server matching a mask like +b s:server.mask.here from joining.
+#<module name="m_serverban.so">
+
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Show Whois module: Adds the +W usermode which allows opers
 # to see when they are whois'ed (can be annoying).
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Shun module: Provides the /shun command, which stops a user executing 
-# all commands except PING and PONG.
+# most commands.
 #<module name="m_shun.so">
+#
+# You may also configure which commands you wish a user to be able to
+# perform. It should be noted that if a shunned user issues QUIT or PART
+# then their message will be removed, as if they did not issue one.
+#
+# You may also (optionally) let the user know that their command was blocked.
+#<shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="yes">
 
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # Spy module: Provides the ability to see the complete names list of 
 # be a lot less bans to apply - as most of them will already be there.
 #<module name="m_xline_db.so">
 
-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
-# XMLSocket module: Adds support for connections using the shockwave
-# flash XMLSocket. Note that this does not work if the client you are
-# using has retarded ideas of the IRC protocol. Your client must still
-# send RFC-correct lines to the server, this module only changes the
-# line ending from newlines to null terminators.
-#
-#<module name="m_xmlsocket.so">
-
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 # ZipLinks module: Adds support for zlib deflate on server to server
 # connections. Both ends of the connection must load this module.