diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Doxyfile | 1644 | ||||
-rw-r--r-- | docs/conf/aliases/anope.conf.example | 27 | ||||
-rw-r--r-- | docs/conf/aliases/atheme.conf.example | 25 | ||||
-rw-r--r-- | docs/conf/aliases/ircservices.conf.example | 21 | ||||
-rw-r--r-- | docs/conf/aliases/neostats.conf.example | 35 | ||||
-rw-r--r-- | docs/conf/censor.conf.example | 2 | ||||
-rw-r--r-- | docs/conf/filter.conf.example | 13 | ||||
-rw-r--r-- | docs/conf/helpop-full.conf.example | 395 | ||||
-rw-r--r-- | docs/conf/helpop.conf.example | 181 | ||||
-rw-r--r-- | docs/conf/inspircd.conf.example | 164 | ||||
-rw-r--r-- | docs/conf/links.conf.example | 42 | ||||
-rw-r--r-- | docs/conf/modules.conf.example | 796 | ||||
-rw-r--r-- | docs/conf/modules/charybdis.conf.example | 152 | ||||
-rw-r--r-- | docs/conf/modules/unrealircd.conf.example | 240 | ||||
-rw-r--r-- | docs/conf/motd.txt.example | 6 | ||||
-rw-r--r-- | docs/conf/opermotd.txt.example | 6 | ||||
-rw-r--r-- | docs/conf/opers.conf.example | 44 | ||||
-rw-r--r-- | docs/conf/services/anope.conf.example | 9 | ||||
-rw-r--r-- | docs/conf/services/atheme.conf.example | 52 | ||||
-rw-r--r-- | docs/conf/services/generic.conf.example | 45 |
20 files changed, 1228 insertions, 2671 deletions
diff --git a/docs/Doxyfile b/docs/Doxyfile index e731ec590..f4e526bc7 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,1873 +1,265 @@ -# Doxyfile 1.8.3.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - PROJECT_NAME = InspIRCd - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 2.0 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - +PROJECT_NUMBER = 3.0 PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - OUTPUT_DIRECTORY = docs/doxygen - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - +ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. Note that you specify absolute paths here, but also -# relative paths, which will be relative from the directory where doxygen is -# started. - STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, -# and language is one of the parsers supported by doxygen: IDL, Java, -# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, -# C++. For instance to make doxygen treat .inc files as Fortran files (default -# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note -# that for custom extensions you also need to set FILE_PATTERNS otherwise the -# files are not read by doxygen. - EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented classes, -# or namespaces to their corresponding documentation. Such a link can be -# prevented in individual cases by by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. - AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES (the -# default) will make doxygen replace the get and set methods by a property in -# the documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal -# scope will be included in the documentation. - EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - +HIDE_COMPOUND_REFERENCE= NO SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - +SHOW_GROUPED_MEMB_INC = NO FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if section-label ... \endif -# and \cond section-label ... \endcond blocks. - ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. Do not use -# file names with spaces, bibtex cannot handle them. - CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - WARNINGS = NO - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - INPUT = - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - EXCLUDE_SYMLINKS = YES - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - EXCLUDE_PATTERNS = */.git/* \ */doxygen/* \ */commands/* \ */modes/* \ */modules/* - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - FILTER_SOURCE_PATTERNS = - -# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page (index.html). -# This can be useful if you have a project on for instance GitHub and want reuse -# the introduction page also for the doxygen output. - USE_MDFILE_AS_MAINPAGE = README.md - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - +SOURCE_TOOLTIPS = YES USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If left blank doxygen will -# generate a default style sheet. Note that it is recommended to use -# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this -# tag will in the future become obsolete. - HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional -# user-defined cascading style sheet that is included after the standard -# style sheets created by doxygen. Using this option one can overrule -# certain style aspects. This is preferred over using HTML_STYLESHEET -# since it does not replace the standard style sheet and is therefor more -# robust against future updates. Doxygen will copy the style sheet file to -# the output directory. - HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - GENERATE_DOCSET = YES - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - DOCSET_FEEDNAME = "Doxygen generated documentation" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely -# identify the documentation publisher. This should be a reverse domain-name -# style string, e.g. com.mycompany.MyDocSet.documentation. - DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and -# SVG. The default value is HTML-CSS, which is slower, but has the best -# compatibility. - MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - +MATHJAX_CODEFILE = SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. -# There are two flavours of web server based search depending on the -# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for -# searching and an index file used by the script. When EXTERNAL_SEARCH is -# enabled the indexing and searching needs to be provided by external tools. -# See the manual for details. - SERVER_BASED_SEARCH = NO - -# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP -# script for searching. Instead the search results are written to an XML file -# which needs to be processed by an external indexer. Doxygen will invoke an -# external search engine pointed to by the SEARCHENGINE_URL option to obtain -# the search results. Doxygen ships with an example indexer (doxyindexer) and -# search engine (doxysearch.cgi) which are based on the open source search engine -# library Xapian. See the manual for configuration details. - EXTERNAL_SEARCH = NO - -# The SEARCHENGINE_URL should point to a search engine hosted by a web server -# which will returned the search results when EXTERNAL_SEARCH is enabled. -# Doxygen ships with an example search engine (doxysearch) which is based on -# the open source search engine library Xapian. See the manual for configuration -# details. - SEARCHENGINE_URL = - -# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed -# search data is written to a file for indexing by an external tool. With the -# SEARCHDATA_FILE tag the name of this file can be specified. - SEARCHDATA_FILE = searchdata.xml - -# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the -# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is -# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple -# projects and redirect the results back to the right project. - EXTERNAL_SEARCH_ID = - -# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen -# projects other than the one defined by this configuration file, but that are -# all added to the same external search index. Each project needs to have a -# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id -# of to a relative location where the documentation can be found. -# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... - EXTRA_SEARCH_MAPPINGS = - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - +RTF_SOURCE_CODE = NO GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - +MAN_SUBDIR = MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - +EXTERNAL_PAGES = YES PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - +DIA_PATH = HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_INCLUDE_PATH = DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - DOT_CLEANUP = YES diff --git a/docs/conf/aliases/anope.conf.example b/docs/conf/aliases/anope.conf.example deleted file mode 100644 index 406adc29a..000000000 --- a/docs/conf/aliases/anope.conf.example +++ /dev/null @@ -1,27 +0,0 @@ -# Aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv -<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> - -# Note: We can't have a shorthand version of this, it conflicts with HS for helpserv -<alias text="HELPSERV" replace="PRIVMSG HelpServ :$2-" requires="HelpServ" uline="yes"> - -# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv, botserv -<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> - - -# /id [channel] <password> -# Identify for a channel or nickname -<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> -<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> -<alias text="IDENTIFY" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> -<alias text="IDENTIFY" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> - diff --git a/docs/conf/aliases/atheme.conf.example b/docs/conf/aliases/atheme.conf.example deleted file mode 100644 index 7a0bc015a..000000000 --- a/docs/conf/aliases/atheme.conf.example +++ /dev/null @@ -1,25 +0,0 @@ -# Aliases for nickserv, chanserv, operserv, memoserv -<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="GAMESERV" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="yes"> -<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> -<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -<alias text="ALIS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes"> - -# Shorthand aliases for nickserv, chanserv, operserv, memoserv -<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="GS" replace="PRIVMSG GameServ :$2-" requires="GameServ" uline="yes"> -<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> -<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -<alias text="LS" replace="PRIVMSG ALIS :$2-" requires="ALIS" uline="yes"> - -# /id [channel] <password> -# Identify for a channel or nickname -<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> -<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2-" requires="NickServ" uline="yes"> - diff --git a/docs/conf/aliases/ircservices.conf.example b/docs/conf/aliases/ircservices.conf.example deleted file mode 100644 index a4c31dd05..000000000 --- a/docs/conf/aliases/ircservices.conf.example +++ /dev/null @@ -1,21 +0,0 @@ -# Aliases for nickserv, chanserv, operserv, memoserv, hostserv -<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="STATSERV" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes"> -<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> - -# Shorthand aliases for nickserv, chanserv, operserv, memoserv, hostserv -<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -<alias text="SS" replace="PRIVMSG StatServ :$2-" requires="StatServ" uline="yes" operonly="yes"> -<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> - -# /id [channel] <password> -# Identify for a channel or nickname -<alias text="ID" format="#*" replace="PRIVMSG ChanServ :IDENTIFY $2 $3" requires="ChanServ" uline="yes"> -<alias text="ID" format="*" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> - diff --git a/docs/conf/aliases/neostats.conf.example b/docs/conf/aliases/neostats.conf.example deleted file mode 100644 index baa7fe0ba..000000000 --- a/docs/conf/aliases/neostats.conf.example +++ /dev/null @@ -1,35 +0,0 @@ -# Aliases for BLSB, ConnectServ, FloodServ, NeoStats, Operlog, QuoteServ, SecureServ, SeenServ, TextServ, WarServ, YahtzeeServ, LogServ, opsb, GamesServ, ProfileServ & StupidServ -<alias text="BLSB" replace="PRIVMSG BLSB :$2-" requires="BLSB" uline="yes" operonly="yes"> -<alias text="CONNECTSERV" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes"> -<alias text="FLOODSERV" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes"> -<alias text="NEOSTATS" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes"> -<alias text="OPERLOG" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes"> -<alias text="QUOTESERV" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes"> -<alias text="SECURESERV" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes"> -<alias text="SEENSERV" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes"> -<alias text="TEXTSERV" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes"> -<alias text="WARSERV" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes"> -<alias text="YAHTZEESERV" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes"> -<alias text="LOGSERV" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes"> -<alias text="OPSB" replace="PRIVMSG opsb :$2-" requires="opsb" uline="yes" operonly="yes"> -<alias text="GAMESSERV" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes"> -<alias text="PROFILESERV" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes"> -<alias text="STUPIDSERV" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes"> - -# Shorthand aliases for FloodServ, Operlog, QuoteServ, TextServ, WarServ, YahtzeeServ, LogServ, GamesServ, ProfileServ, SecureServ, SeenServ, NeoStats, ConnectServ & StupidServ -<alias text="FS" replace="PRIVMSG FloodServ :$2-" requires="FloodServ" uline="yes" operonly="yes"> -<alias text="OL" replace="PRIVMSG Operlog :$2-" requires="Operlog" uline="yes" operonly="yes"> -<alias text="QS" replace="PRIVMSG QuoteServ :$2-" requires="QuoteServ" uline="yes" operonly="yes"> -<alias text="TS" replace="PRIVMSG TextServ :$2-" requires="TextServ" uline="yes" operonly="yes"> -<alias text="WS" replace="PRIVMSG WarServ :$2-" requires="WarServ" uline="yes"> -<alias text="YS" replace="PRIVMSG YahtzeeServ :$2-" requires="YahtzeeServ" uline="yes" operonly="yes"> -<alias text="LS" replace="PRIVMSG LogServ :$2-" requires="LogServ" uline="yes" operonly="yes"> -<alias text="GS" replace="PRIVMSG GamesServ :$2-" requires="GamesServ" uline="yes"> -<alias text="PS" replace="PRIVMSG ProfileServ :$2-" requires="ProfileServ" uline="yes"> - -<alias text="SECURE" replace="PRIVMSG SecureServ :$2-" requires="SecureServ" uline="yes" operonly="yes"> -<alias text="SEEN" replace="PRIVMSG SeenServ :$2-" requires="SeenServ" uline="yes" operonly="yes"> -<alias text="NEO" replace="PRIVMSG NeoStats :$2-" requires="NeoStats" uline="yes" operonly="yes"> -<alias text="CONN" replace="PRIVMSG ConnectServ :$2-" requires="ConnectServ" uline="yes" operonly="yes"> -<alias text="STUPID" replace="PRIVMSG StupidServ :$2-" requires="StupidServ" uline="yes"> - diff --git a/docs/conf/censor.conf.example b/docs/conf/censor.conf.example index ea9e08147..23924d14b 100644 --- a/docs/conf/censor.conf.example +++ b/docs/conf/censor.conf.example @@ -1,4 +1,4 @@ -# Configuration file for m_censor.so +# Configuration file for the censor module # The tags for this module are formatted as follows: # diff --git a/docs/conf/filter.conf.example b/docs/conf/filter.conf.example index ef7f50588..ea62efd1f 100644 --- a/docs/conf/filter.conf.example +++ b/docs/conf/filter.conf.example @@ -1,4 +1,4 @@ -# Configuration file for m_filter.so +# Configuration file for the filter module # The tags for this module are formatted as follows: # @@ -6,7 +6,7 @@ # reason="reason for filtering" # action="action to take" # flags="filter flags" -# duration="optional length of gline"> +# duration="optional length of gline"> # # Valid actions for 'action' are: # @@ -40,19 +40,14 @@ # c: Strip color codes from text before trying to match # *: Represents all of the above flags # -: Does nothing, a no-op for when you do not want to specify any flags -# -# IMPORTANT NOTE: Because the InspIRCd config reader places special meaning on the -# '\' character, you must use '\\' if you wish to specify a '\' character in a regular -# expression. For example, to indicate numbers, use \\d and not \d. This does not -# apply when adding a regular expression over irc with the /FILTER command. -# Example filters for m_filter: +# Example filters: # # <keyword pattern="*qwerty*" reason="You qwertied!" action="block" flags="pn"> # <keyword pattern="*killmenow*" reason="As you request." action="kill" flags="*"> # <keyword pattern="*blah*" reason="Dont blah!" action="gline" duration="1d6h" flags="-"> -# An example regexp filter for m_filter_pcre: +# An example regexp filter: # # <keyword pattern="^blah.*?$" reason="Dont blah!" action="gline" duration="1d6h" flags="pnPq"> diff --git a/docs/conf/helpop-full.conf.example b/docs/conf/helpop-full.conf.example index 3374dea34..a1e3c881a 100644 --- a/docs/conf/helpop-full.conf.example +++ b/docs/conf/helpop-full.conf.example @@ -43,16 +43,16 @@ USER PASS PING PONG QUIT OPER"> -<helpop key="sslinfo" value="/SSLINFO [nick] +<helpop key="sslinfo" value="/SSLINFO <nick> Displays information on the SSL connection and certificate of the target user."> -<helpop key="uninvite" value="/UNINVITE [nick] [channel] +<helpop key="uninvite" value="/UNINVITE <nick> <channel> Uninvite a user from a channel, same syntax as INVITE."> -<helpop key="tban" value="/TBAN [channel] [duration] [banmask] +<helpop key="tban" value="/TBAN <channel> <duration> <banmask> Sets a timed ban. The duration of the ban can be specified in the following format: 1w2d3h4m6s which indicates a ban of one week, two @@ -61,37 +61,48 @@ ban may just be specified as a number of seconds. All timed bans appear in the banlist as normal bans and may be safely removed before their time is up."> -<helpop key="dccallow" value="/DCCALLOW [+|-] [nick] [duration] +<helpop key="dccallow" value="/DCCALLOW - List allowed nicks +/DCCALLOW LIST - This also lists allowed nicks +/DCCALLOW +<nick> [<duration>] - Add a nick +/DCCALLOW -<nick> - Remove a nick +/DCCALLOW HELP - Display help -Adds a nickname to or deletes a nickname from your DCCALLOW list."> +Duration is optional, and may be specified in seconds or in the +form of 1m2h3d4w5y."> -<helpop key="accept" value="/ACCEPT [+-*] [nick]{ [, [+-]<nick> ] } +<helpop key="accept" value="/ACCEPT * - List accepted nicks +/ACCEPT +<nick> - Add a nick +/ACCEPT -<nick> - Remove a nick +This command accepts multiple nicks like so: +/ACCEPT +<nick1>,+<nick2>,-<nick3> Manages your accept list. This list is used to determine who can -private message you when you have usermode +g set. ACCEPT +nick adds -a nick to your accept list, ACCEPT -nick removes a nick from your -accept list, and ACCEPT * displays your accept list."> +private message you when you have usermode +g set."> -<helpop key="cycle" value="/CYCLE [channel] :[reason] +<helpop key="cycle" value="/CYCLE <channel> :[<reason>] Cycles a channel (leaving and rejoining), overrides restrictions that would stop a new user joining, such as user limits and channel keys."> -<helpop key="title" value="/TITLE [name] [password] +<helpop key="title" value="/TITLE <name> <password> Authenticate for a WHOIS title line and optionally a vhost using the specified username and password."> -<helpop key="watch" value="/WATCH [C|S|+/-[NICK]] +<helpop key="watch" value="/WATCH - List watched nicks that are online +/WATCH L - List watched nicks, online and offline +/WATCH C - Clear all watched nicks +/WATCH S - Show statistics +/WATCH +<nick> - Add a nick +/WATCH -<nick> - Remove a nick +This command accepts multiple nicks like so: +/WATCH +<nick1> +<nick2> -<nick3>"> -Adds or deletes a user from the watch list. C clears the list -and S queries the status."> - -<helpop key="vhost" value="/VHOST [username] [password] +<helpop key="vhost" value="/VHOST <username> <password> Authenticate for a vhost using the specified username and password."> -<helpop key="remove" value="/REMOVE [nick] [channel] {[reason]} +<helpop key="remove" value="/REMOVE <channel> <nick> [<reason>] Removes a user from a channel you specify. You must be at least a channel halfoperator to remove a user. A removed user will part with @@ -102,18 +113,18 @@ a message stating they were removed from the channel and by whom."> Removes listmodes from a channel. E.g. /RMODE #Chan b m:* will remove all mute extbans."> -<helpop key="fpart" value="/FPART [channel] [nick] {[reason]} +<helpop key="fpart" value="/FPART <channel> <nick> [<reason>] -This behaves identically to /REMOVE, the only difference is that the -[channel] and [nick] parameters are switched around to match /KICK's -syntax. Also, /REMOVE is a builtin mIRC command which caused trouble -for some users."> +This behaves identically to /REMOVE. /REMOVE is a built-in mIRC command +which caused trouble for some users."> -<helpop key="devoice" value="/DEVOICE [channel] +<helpop key="devoice" value="/DEVOICE <channel> Devoices yourself on the specified channel."> -<helpop key="silence" value="/SILENCE [+/-][hostmask] [p|c|i|n|t|a|x] +<helpop key="silence" value="/SILENCE - Shows a list of silenced masks +/SILENCE +<mask> [<flags>] - Add a mask +/SILENCE -<mask> - Remove a mask A serverside ignore of the given n!u@h mask. The letter(s) at the end specify what is to be ignored from this hostmask. @@ -134,13 +145,13 @@ with what you want excepted. For example, if you wanted to except everything from people with a host matching *.foo.net, you would do /SILENCE +*!*@*.foo.net xa -/SILENCE without a parameter will list the hostmasks that you have silenced."> +/SILENCE without a parameter will list the masks that you have silenced."> -<helpop key="knock" value="/KNOCK [channel] +<helpop key="knock" value="/KNOCK <channel> Sends a notice to a channel indicating you wish to join."> -<helpop key="user" value="/USER [ident] [local host] [remote host] :[GECOS] +<helpop key="user" value="/USER <ident> <local host> <remote host> :<GECOS> This command is used by your client to register your IRC session, providing your ident and GECOS to the @@ -148,11 +159,11 @@ server. You should not use it during an established connection."> -<helpop key="nick" value="/NICK [new nick] +<helpop key="nick" value="/NICK <new nick> -Change your nickname to [new nick]."> +Change your nickname to <new nick>."> -<helpop key="quit" value="/QUIT {[reason]} +<helpop key="quit" value="/QUIT [<reason>] Quit from IRC and end your current session."> @@ -160,47 +171,51 @@ Quit from IRC and end your current session."> Returns the server's version information."> -<helpop key="ping" value="/PING [server] +<helpop key="ping" value="/PING <server> Ping a server. The server will answer with a PONG."> -<helpop key="pong" value="/PONG [server] +<helpop key="pong" value="/PONG <server> Your client should send this to answer server PINGs. You should not issue this command manually."> -<helpop key="admin" value="/ADMIN [server] +<helpop key="admin" value="/ADMIN [<server>] Shows the administrative information for the given server."> -<helpop key="privmsg" value="/PRIVMSG [target] [text] +<helpop key="privmsg" value="/PRIVMSG <target> <text> -Sends a message to a user or channel specified in [target]."> +Sends a message to a user or channel specified in <target>."> -<helpop key="notice" value="/NOTICE [target] [text] +<helpop key="notice" value="/NOTICE <target> <text> -Sends a notice to a user or channel specified in [target]."> +Sends a notice to a user or channel specified in <target>."> -<helpop key="join" value="/JOIN [channel]{,[channel]} [key]{,[key]} +<helpop key="join" value="/JOIN <channel>[,<channel>] [<key>][,<key>] Joins one or more channels you provide the names for."> -<helpop key="names" value="/NAMES [channel]{,[channel]} +<helpop key="names" value="/NAMES <channel>[,<channel>] Return a list of users on the channels you provide."> -<helpop key="part" value="/PART [channel]{,[channel] [reason]} +<helpop key="part" value="/PART <channel>[,<channel>] [<reason>] Leaves one or more channels you specify."> -<helpop key="kick" value="/KICK [channel] [nick] {[reason]} +<helpop key="kick" value="/KICK <channel> <nick>[,<nick>] [<reason>] Kicks a user from a channel you specify. You must be at least a channel halfoperator to kick a user."> -<helpop key="mode" value="/MODE [target] [+|-][modes]{[+|-][modes]} {mode parameters} +<helpop key="mode" value="/MODE <target> (+|-)<modes> [<mode parameters>] - Change modes of <target>. + +/MODE <target> - Show modes of <target>. + +/MODE <channel> <list mode char> - List bans, exceptions, etc. set on <channel>. -Sets the mode for a channel or a nickname specified in [target]. +Sets the mode for a channel or a nickname specified in <target>. A user may only set modes upon themselves, and may not set the +o usermode, and a user may only change channel modes of channels where they are at least a halfoperator. @@ -208,14 +223,14 @@ channels where they are at least a halfoperator. For a list of all user and channel modes, enter /HELPOP UMODES or /HELPOP CHMODES."> -<helpop key="topic" value="/TOPIC [channel] {topic} +<helpop key="topic" value="/TOPIC <channel> [<topic>] Sets or retrieves the channel topic. If a channel topic is given in the command and either the channel is not +t, or you are at least a halfoperator, the channel topic will be changed to the new one you provide."> -<helpop key="who" value="/WHO [ [search-pattern] [ohurmaiMplf] ] +<helpop key="who" value="/WHO <search pattern> [ohurmaiMplf] Looks up the information of users matching the range you provide. You may only /WHO nicknames in channels or on servers where you @@ -259,44 +274,44 @@ The following flags after the mask have the following effects: You may combine multiple flags in one WHO command except where stated in the table above."> -<helpop key="motd" value="/MOTD [server] +<helpop key="motd" value="/MOTD [<server>] -Show the message of the day for [server]. Messages of the day often +Show the message of the day for <server>. Messages of the day often contain important server rules and notices and should be read prior to using a server."> -<helpop key="oper" value="/OPER [login] [password] +<helpop key="oper" value="/OPER <login> <password> Attempts to authenticate a user as an IRC operator. Both successful and unsuccessful oper attempts are logged, and sent to online IRC operators."> -<helpop key="list" value="/LIST [pattern] +<helpop key="list" value="/LIST [<pattern>] Creates a list of all existing channels matching the glob pattern -[pattern], e.g. *chat* or bot*."> +<pattern>, e.g. *chat* or bot*."> <helpop key="lusers" value="/LUSERS Shows a count of local and remote users, servers and channels."> -<helpop key="userhost" value="/USERHOST [nickname] +<helpop key="userhost" value="/USERHOST <nick> [<nick>] Returns the hostname and nickname of a user, and some other miscellaneous information."> -<helpop key="away" value="/AWAY {message} +<helpop key="away" value="/AWAY [<message>] If a message is given, marks you as being away, otherwise removes your away status and previous message."> -<helpop key="ison" value="/ISON [nick] {[nick]...} +<helpop key="ison" value="/ISON <nick> [<nick> ...] Returns a subset of the nicks you give, showing only those that are currently online."> -<helpop key="invite" value="/INVITE [nick] [channel] {[time]} +<helpop key="invite" value="/INVITE <nick> <channel> [<time>] Invites a user to a channel. If the channel is NOT +A, only channel halfoperators or above can invite people. If +A is set, @@ -310,7 +325,7 @@ Invited users may override bans, +k, and similar in addition to If a time is provided, the invite expires after that time and the user can no longer use it to enter the channel."> -<helpop key="pass" value="/PASS [password] +<helpop key="pass" value="/PASS <password> This command is used by your client when setting up your IRC session to submit a server password to the @@ -318,7 +333,7 @@ server. You should not use it during an established connection."> -<helpop key="whowas" value="/WHOWAS [nick] +<helpop key="whowas" value="/WHOWAS <nick> Returns a list of times the user was seen recently on IRC along with the time they were last seen and their server."> @@ -333,24 +348,24 @@ Shows a graphical representation of all users and servers on the network, and the links between them, as a tree from the perspective of your server."> -<helpop key="whois" value="/WHOIS [nick] {server} +<helpop key="whois" value="/WHOIS <nick> [<server>] Returns the WHOIS information of a user, their channels, hostname, etc. If a second nickname or server is provided, then a whois is performed from the server where the user is actually located rather than locally, showing idle and signon times."> -<helpop key="time" value="/TIME [servermask] +<helpop key="time" value="/TIME [<server>] Returns the local time of the server, or remote time of another server."> -<helpop key="info" value="/INFO +<helpop key="info" value="/INFO [<server>] Returns information on the developers and supporters who made this IRC server possible."> -<helpop key="setname" value="/SETNAME [name] +<helpop key="setname" value="/SETNAME <name> Sets your name to the specified name."> @@ -363,7 +378,8 @@ Sets your name to the specified name."> ------------- OPERMOTD CHECK CLONES USERIP TLINE -ALLTIME WALLOPS GLOBOPS +ALLTIME WALLOPS GLOBOPS MODENOTICE +CLOAK SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME SETIDLE SWHOIS @@ -381,20 +397,20 @@ CONNECT SQUIT RCONNECT RSQUIT DIE RESTART REHASH CLEARCACHE LOADMODULE UNLOADMODULE RELOADMODULE GLOADMODULE GUNLOADMODULE -GRELOADMODULE RELOAD CLOSE -LOCKSERV UNLOCKSERV JUMPSERVER"> +GRELOADMODULE CLOSE JUMPSERVER +LOCKSERV UNLOCKSERV"> -<helpop key="userip" value="/USERIP [nicknames] +<helpop key="userip" value="/USERIP <nick> [<nick>] Returns the ip and nickname of the given users."> -<helpop key="tline" value="/TLINE [host or ip mask] +<helpop key="tline" value="/TLINE <host/IP mask> This command returns the number of local and global clients matched, and the percentage of clients matched, plus how they were matched (by IP address or by hostname)."> -<helpop key="lockserv" value="/LOCKSERV +<helpop key="lockserv" value="/LOCKSERV :[<message>] Locks out all new connections notifying connecting users that the service is temporarily closed and to try again later."> @@ -403,12 +419,12 @@ service is temporarily closed and to try again later."> Opens the server up again for new connections."> -<helpop key="jumpserver" value="/JUMPSERVER {[newserver] [newport] [+/-flags] {:[reason]}} +<helpop key="jumpserver" value="/JUMPSERVER [<newserver> <newport> <(+|-)[flags]> :[<reason>]] Sets or cancels jumpserver mode. If no parameters are given, jumpserver mode is cancelled, if it is currently set. If parameters -are given, a server address must be given for [newserver] and a -server port must be given for [newport]. Zero or more status flags +are given, a server address must be given for <newserver> and a +server port must be given for <newport>. Zero or more status flags should be given for 'flags', from the list below (if you do not wish to specify any flags just place a '+' in this field): @@ -424,7 +440,7 @@ reason parameter is optional, and if not provided defaults to 'Please use this server/port instead' (the default given in various numeric lists)"> -<helpop key="filter" value="/FILTER [filter-definition] {[action] [flags] {[gline-duration]} :[reason]} +<helpop key="filter" value="/FILTER <filter-definition> [<action> <flags> [<gline-duration>] :<reason>] This command will add a filter when more than one parameter is given, for messages of the types specified by the flags, with the given @@ -471,19 +487,19 @@ filter will be removed. Note that if you remove a configuration-defined filter, it will reappear at next rehash unless it is also removed from the config file."> -<helpop key="ojoin" value="/OJOIN [#chan] +<helpop key="ojoin" value="/OJOIN <channel> Force joins you to the specified channel, and gives you +Y and any other configuration-defined modes on it, preventing you from being kicked. Depending on configuration, may announce that you have joined the channel on official network business."> -<helpop key="clones" value="/CLONES [limit] +<helpop key="clones" value="/CLONES <limit> Retrieves a list of users with more clones than the specified limit."> -<helpop key="check" value="/CHECK [nick|ip|hostmask|channel] {[server]} +<helpop key="check" value="/CHECK <nick|ip|hostmask|channel> [<server>] Allows opers to look up advanced information on channels, hostmasks or IP addresses, in a similar way to WHO but in more detail, displaying @@ -497,22 +513,21 @@ specified server."> Shows the time on all servers on the network."> -<helpop key="rconnect" value="/RCONNECT [source mask] [target mask] +<helpop key="rconnect" value="/RCONNECT <source mask> <target mask> -The server matching [source mask] will try to connect to the first -server in the config file matching [target mask]."> +The server matching <source mask> will try to connect to the first +server in the config file matching <target mask>."> -<helpop key="rsquit" value="/RSQUIT {[source mask]} [target mask] +<helpop key="rsquit" value="/RSQUIT <target mask> [<reason>] -Causes a remote server matching [target mask] to be disconnected from -the network, only if connected via a server matching [source mask] if -it is specified."> +Causes a remote server matching <target mask> to be disconnected from +the network."> -<helpop key="globops" value="/GLOBOPS [message] +<helpop key="globops" value="/GLOBOPS <message> Sends a message to all users with the +g snomask."> -<helpop key="cban" value="/CBAN [channel] {[duration] :[reason]} +<helpop key="cban" value="/CBAN <channel> [<duration> :[<reason>]] Sets or removes a channel ban. You must specify all three parameters to add a ban, and one parameter to remove a ban (just the channel). @@ -530,35 +545,43 @@ If no nick is given, it joins the oper doing the /SAJOIN."> Forces the user to part the channel(s)."> -<helpop key="samode" value="/SAMODE [target] +/-[modes] {[parameters for modes]} +<helpop key="samode" value="/SAMODE <target> (+|-)<modes> [<parameters for modes>] Applies the given mode change to the channel or nick specified."> -<helpop key="sanick" value="/SANICK [nick] [new nick] +<helpop key="sanick" value="/SANICK <nick> <new nick> Changes the user's nick to the new nick."> -<helpop key="saquit" value="/SAQUIT [nick] [reason] +<helpop key="sakick" value="/SAKICK <channel> <nick> <reason> + +Kicks the given user from the specified channel."> + +<helpop key="satopic" value="/SATOPIC <channel> <new topic> + +Applies the given topic to the specified channel."> + +<helpop key="saquit" value="/SAQUIT <nick> <reason> Forces user to quit with the specified reason."> -<helpop key="setidle" value="/SETIDLE [idle time] +<helpop key="setidle" value="/SETIDLE <idle time> Sets your idle time (in seconds) to the specified value."> -<helpop key="sethost" value="/SETHOST [host] +<helpop key="sethost" value="/SETHOST <host> Sets your host to the specified host."> -<helpop key="setident" value="/SETIDENT [ident] +<helpop key="setident" value="/SETIDENT <ident> Sets your ident to the specified ident."> -<helpop key="swhois" line="/SWHOIS [nick] [swhois] +<helpop key="swhois" line="/SWHOIS <nick> <swhois> Sets the user's swhois field to the given swhois."> -<helpop key="mkpasswd" value="/MKPASSWD [hashtype] [plaintext] +<helpop key="mkpasswd" value="/MKPASSWD <hashtype> <plaintext> Encodes the plaintext to a hash of the given type and displays the result."> @@ -567,28 +590,28 @@ the result."> Displays the Oper MOTD."> -<helpop key="nicklock" value="/NICKLOCK [nick] [new nick] +<helpop key="nicklock" value="/NICKLOCK <nick> <new nick> Changes the user's nick to the new nick, and forces it to remain as such for the remainder of the session."> -<helpop key="nickunlock" value="/NICKUNLOCK [nick] +<helpop key="nickunlock" value="/NICKUNLOCK <nick> Allows a previously locked user to change nicks again."> -<helpop key="chghost" value="/CHGHOST [nickname] [new hostname] +<helpop key="chghost" value="/CHGHOST <nickname> <new hostname> Changes the hostname of the user to the new hostname."> -<helpop key="chgname" value="/CHGNAME [nickname] [new name] +<helpop key="chgname" value="/CHGNAME <nickname> <new name> Changes the name of the user to the new name."> -<helpop key="chgident" value="/CHGIDENT [nickname] [new ident] +<helpop key="chgident" value="/CHGIDENT <nickname> <new ident> Changes the ident of the user to the new ident."> -<helpop key="shun" value="/SHUN [nick!user@host] {[duration] :[reason]} +<helpop key="shun" value="/SHUN <nick!user@host> [[<duration>] :<reason>] Sets or removes a shun (server side ignore) on a host and ident mask. You must specify all three parameters to add a shun, and one parameter @@ -598,39 +621,37 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="die" value="/DIE [password] +<helpop key="die" value="/DIE <server> This command shuts down the local server. A single parameter is -required, which must match the password in the configuration for the -command to function."> +required, which must match the name of the local server."> -<helpop key="restart" value="/RESTART [password] +<helpop key="restart" value="/RESTART <server> This command restarts the local server. A single parameter is -required, which must match the password in the configuration for the -command to function."> +required, which must match the name of the local server."> <helpop key="commands" value="/COMMANDS Shows all currently available commands."> -<helpop key="kill" value="/KILL [user] [reason] +<helpop key="kill" value="/KILL <user> <reason> This command will disconnect a user from IRC with the given reason."> -<helpop key="rehash" value="/REHASH [mask] +<helpop key="rehash" value="/REHASH <mask> This command will cause the server configuration file to be reread and values reinitialized for all servers matching the server mask, or the local server if one is not specified."> -<helpop key="connect" value="/CONNECT [servermask] +<helpop key="connect" value="/CONNECT <servermask> Add a connection to the server matching the given server mask. You must have configured the server for linking in your configuration file before trying to link them."> -<helpop key="squit" value="/SQUIT [servermask] +<helpop key="squit" value="/SQUIT <servermask> Disconnects the server matching the given server mask from this server."> @@ -639,35 +660,35 @@ Disconnects the server matching the given server mask from this server."> Lists currently loaded modules, their memory offsets, version numbers, and flags. If you are not an operator, you will see reduced detail."> -<helpop key="loadmodule" value="/LOADMODULE [filename.so] +<helpop key="loadmodule" value="/LOADMODULE <modname> Loads the specified module into the local server."> -<helpop key="unloadmodule" value="/UNLOADMODULE [filename.so] +<helpop key="unloadmodule" value="/UNLOADMODULE <modname> Unloads a module from the local server. The module cannot have the static flag set (see the output of /MODULES)."> -<helpop key="reloadmodule" value="/RELOADMODULE [filename.so] +<helpop key="reloadmodule" value="/RELOADMODULE <modname> Unloads and reloads a module on the local server. This module cannot have the static flag set (see the output of /MODULES)."> -<helpop key="loadmodule" value="/GLOADMODULE [filename.so] +<helpop key="gloadmodule" value="/GLOADMODULE <modname> Loads the specified module on all linked servers."> -<helpop key="unloadmodule" value="/GUNLOADMODULE [filename.so] +<helpop key="gunloadmodule" value="/GUNLOADMODULE <modname> Unloads a module from all linked servers. The module cannot have the static flag set (see the output of /MODULES)."> -<helpop key="reloadmodule" value="/GRELOADMODULE [filename.so] +<helpop key="greloadmodule" value="/GRELOADMODULE <modname> Unloads and reloads a module on all linked servers. This module cannot have the static flag set (see the output of /MODULES)."> -<helpop key="kline" value="/KLINE [user@host] {[duration] :[reason]} +<helpop key="kline" value="/KLINE <user@host> [<duration> :<reason>] Sets or removes a k-line (local host based ban) on a host and ident mask. You must specify all three parameters to add a ban, and one parameter @@ -677,7 +698,7 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="zline" value="/ZLINE [ipmask] {[duration] :[reason]} +<helpop key="zline" value="/ZLINE <ipmask> [<duration> :<reason>] Sets or removes a z-line (ip based ban) on an ip range mask. You must specify all three parameters to add a ban, and one parameter @@ -687,7 +708,7 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="qline" value="/QLINE [nickmask] {[duration] :[reason]} +<helpop key="qline" value="/QLINE <nickmask> [<duration> :<reason>] Sets or removes a q-line (nick based ban) on a nick mask. You must specify all three parameters to add a ban, and one parameter @@ -697,7 +718,7 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="gline" value="/GLINE [user@host] {[duration] :[reason]} +<helpop key="gline" value="/GLINE <user@host> [<duration> :<reason>] Sets or removes a g-line (host based ban) on host mask. You must specify all three parameters to add a ban, and one @@ -707,9 +728,9 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="eline" value="/ELINE [user@host] {[duration] :[reason]} +<helpop key="eline" value="/ELINE <user@host> [<duration> :<reason>] -Sets or removes a e-line (local ban exception) on host mask. +Sets or removes a e-line (global ban exception) on host mask. You must specify at least 3 parameters to add an exception, and one parameter to remove an exception (just the user@host section). @@ -722,19 +743,11 @@ be negated by an eline on *@<ip>, bans on *@<host> can be negated by elines on *@<ip>, or *@<host>, and bans on <ident>@* or <ident>@<host> can be negated by any eline that matches."> -<helpop key="wallops" value="/WALLOPS [message] +<helpop key="wallops" value="/WALLOPS <message> Sends a message to all +w users."> -<helpop key="sakick" value="/SAKICK [#chan] [nick] [reason] - -Kicks the given user from the specified channel."> - -<helpop key="satopic" value="/SATOPIC [#chan] [new topic] - -Applies the given topic to the specified channel."> - -<helpop key="rline" value="/RLINE [regex] {[duration] :[reason]} +<helpop key="rline" value="/RLINE <regex> [<duration> :<reason>] Sets or removes an r-line (regex line) on a n!u@h\\sgecos mask. You must specify all three parameters to add an rline, and one parameter @@ -744,14 +757,9 @@ The duration may be specified in seconds, or in the format 1y2w3d4h5m6s - meaning one year, two weeks, three days, 4 hours, 5 minutes and 6 seconds. All fields in this format are optional."> -<helpop key="clearcache" value="/CLEARCACHE {servername} - -This command clears the DNS cache of the specified server. If no -server is specified, the local server's DNS cache will be cleared."> - -<helpop key="reload" value="/RELOAD [core command] +<helpop key="clearcache" value="/CLEARCACHE -Reloads the specified core command."> +This command clears the DNS cache of the local server."> <helpop key="close" value="/CLOSE @@ -767,6 +775,18 @@ while methods G and Z also add G/Z-Lines for all the targets. When used, the victims won't see each other getting kicked or quitting."> +<helpop key="modenotice" value="/MODENOTICE <modeletters> <message> + +Sends a notice to all users who have the given mode(s) set. +If multiple mode letters are given, the notice is only sent to users +who have all of them set."> + +<helpop key="cloak" value="/CLOAK <host> + +Generate the cloak of a host or IP. This is useful for example when +trying to get the cloak of a user from /WHOWAS and they were not +using their cloak when they quit."> + ###################### # User/Channel Modes # ###################### @@ -789,7 +809,7 @@ When used, the victims won't see each other getting kicked or quitting."> having op modes removed from them (services only, requires servprotect module). o Marks as a IRC operator. - s [mask] Receives server notices specified by [mask] + s <mask> Receives server notices specified by <mask> (IRCop only). r Marks as a having a registered nickname (requires services account module). @@ -802,6 +822,8 @@ When used, the victims won't see each other getting kicked or quitting."> hideoper module). I Hides a user's entire channel list in WHOIS from non-IRCops (requires hidechans module). + L Stops redirections done by m_redirect (mode must be + enabled in the config). R Blocks private messages from unregistered users (requires services account module). S Strips mIRC color/bold/underline codes out of private @@ -812,40 +834,40 @@ When used, the victims won't see each other getting kicked or quitting."> <helpop key="chmodes" value="Channel Modes ------------- - v [nickname] Gives voice to [nickname], allowing them to speak + v <nickname> Gives voice to <nickname>, allowing them to speak while the channel is +m. - h [nickname] Gives halfop status to [nickname] (requires + h <nickname> Gives halfop status to <nickname> (requires customprefix module). - o [nickname] Gives op status to [nickname]. - a [nickname] Gives protected status to [nickname], preventing + o <nickname> Gives op status to <nickname>. + a <nickname> Gives protected status to <nickname>, preventing them from them from being kicked (+q only, requires customprefix module). - q [nickname] Gives owner status to [nickname], preventing them + q <nickname> Gives owner status to <nickname>, preventing them from being kicked (Services or only, requires customprefix module). - b [hostmask] Bans [hostmask] from the channel. - e [hostmask] Excepts [hostmask] from bans (requires + b <hostmask> Bans <hostmask> from the channel. + e <hostmask> Excepts <hostmask> from bans (requires banexception module). - I [hostmask] Excepts [hostmask] from +i, allowing matching + I <hostmask> Excepts <hostmask> from +i, allowing matching users to join while the channel is invite-only (requires inviteexception module). c Blocks messages containing mIRC color codes (requires blockcolor module). - d [time] Blocks messages to a channel from new users - until they have been in the channel for [time] + d <time> Blocks messages to a channel from new users + until they have been in the channel for <time> seconds (requires delaymsg module). - f [*][lines]:[sec] Kicks on text flood equal to or above the + f [*]<lines>:<sec> Kicks on text flood equal to or above the specified rate. With *, the user is banned (requires messageflood module). i Makes the channel invite-only. Users can only join if an operator uses /INVITE to invite them. - j [joins]:[sec] Limits joins to the specified rate (requires + j <joins>:<sec> Limits joins to the specified rate (requires joinflood module). - k [key] Set the channel key (password) to [key]. - l [limit] Set the maximum allowed users to [limit]. + k <key> Set the channel key (password) to <key>. + l <limit> Set the maximum allowed users to <limit>. m Enable moderation. Only users with +v, +h, or +o can speak. n Blocks users who are not members of the channel @@ -862,8 +884,8 @@ When used, the victims won't see each other getting kicked or quitting."> see themselves or themselves and the operators, while operators see all the users (requires auditorium module). - w [flag]:[banmask] Adds basic channel access controls of [flag] to - [banmask], via the +w listmode. + w <flag>:<banmask> Adds basic channel access controls of <flag> to + <banmask>, via the +w listmode. For example, +w o:R:Brain will op anyone identified to the account 'Brain' on join. (requires autoop module) @@ -879,23 +901,27 @@ When used, the victims won't see each other getting kicked or quitting."> module). D Delays join messages from users until they message the channel (requires delayjoin module). - E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similiar messages. + E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages. Kicks as default, blocks with ~ and bans with * The last two parameters are optional. - F [changes]:[sec] Blocks nick changes when they equal or exceed the + F <changes>:<sec> Blocks nick changes when they equal or exceed the specified rate (requires nickflood module). G Censors messages to the channel based on the network configuration (requires censor module). - J [seconds] Prevents rejoin after kick for the specified + H <num>:<duration> Displays the last <num> lines of chat to joining + users. <duration> is the maximum time to keep + lines in the history buffer (requires chanhistory + module). + J <seconds> Prevents rejoin after kick for the specified number of seconds. This prevents auto-rejoin (requires kicknorejoin module). K Blocks /KNOCK on the channel. - L [channel] If the channel reaches its limit set by +l, - redirect users to [channel] (requires redirect + L <channel> If the channel reaches its limit set by +l, + redirect users to <channel> (requires redirect module). M Blocks unregistered users from speaking (requires services account module). - N Prevents users on the channel from chainging nick + N Prevents users on the channel from changing nick (requires nonicks module). O Channel is IRCops only (can only be set by IRCops, requires operchans module). @@ -908,13 +934,13 @@ When used, the victims won't see each other getting kicked or quitting."> R Blocks unregistered users from joining (requires services account module). S Strips mIRC color codes from messages to the - channel (requirs stripcolor module). + channel (requires stripcolor module). T Blocks /NOTICEs to the channel from users who are not at least halfop (requires nonotice module). - g [mask] Blocks messages matching the given blob mask + g <mask> Blocks messages matching the given glob mask (requires chanfilter module). - X [mode] Makes channel operators immune to the specified + X <mode> Makes channel operators immune to the specified restrictive mode (requires exemptchanops module). ------------- @@ -927,7 +953,7 @@ help channel if you have any questions."> # Stats Symbols # ###################### -<helpop key="stats" value="/STATS [symbol] +<helpop key="stats" value="/STATS <symbol> Shows various server statistics. Depending on configuration, some symbols may be only available to opers. @@ -1023,46 +1049,47 @@ setting +I <extban>. Matching extbans: - j:#channel Matches anyone in #channel. Does not support wildcards - for #channel (requires channelban module). - r:realname Matches users with a matching realname (requires gecosban + j:<channel> Matches anyone in the given channel. Does not support + wildcards (requires channelban module). + r:<realname> Matches users with a matching realname (requires gecosban module). - s:server Matches users on a matching server (requires serverban + s:<server> Matches users on a matching server (requires serverban module). - z:fingerprint Matches users with a matching ssl fingerprint (requires - sslmodes module) - O:opertype Matches IRCops of a matching type, mostly useful as an + z:<certfp> Matches users with a matching SSL certificate fingerprint + (requires sslmodes module) + O:<opertype> Matches IRCops of a matching type, mostly useful as an an invite exception (requires operchans module). - R:account Matches users logged into a matching account (requires + R:<account> Matches users logged into a matching account (requires services account module). Acting extbans: - c:<ban> Blocks any messages that contain color codes from + c:<banmask> Blocks any messages that contain color codes from matching users (requires blockcolor module). - m:<ban> Blocks messages from matching users (requires muteban + m:<banmask> Blocks messages from matching users (requires muteban module). Users with +v or above are not affected. - p:<ban> Blocks part messages from matching users (requires + p:<banmask> Blocks part messages from matching users (requires nopartmsg module). - A:<ban> Blocks invites by matching users even when +A is set + A:<banmask> Blocks invites by matching users even when +A is set (requires allowinvite module). - B:<ban> Blocks all capital or nearly all capital messages from + B:<banmask> Blocks all capital or nearly all capital messages from matching users (requires blockcaps module). - C:<ban> Blocks CTCPs from matching users (requires noctcp + C:<banmask> Blocks CTCPs from matching users (requires noctcp module). - N:<ban> Blocks nick changes from matching users (requires + N:<banmask> Blocks nick changes from matching users (requires nonicks module). - Q:<ban> Blocks kicks by matching users (requires nokicks + Q:<banmask> Blocks kicks by matching users (requires nokicks module). - S:<ban> Strips color/bold/underline from messages from matching + S:<banmask> Strips color/bold/underline from messages from matching users (requires stripcolor module). - T:<ban> Blocks notices from matching users (requires nonotice + T:<banmask> Blocks notices from matching users (requires nonotice module). - U:<ban> Blocks unregistered users matching the given ban. - (requires m_services_account) + U:<banmask> Blocks unregistered users matching the given banmask. + (requires services account). -A ban given to an acting extban may either be a nick!user@host mask, -matched against users as for a normal ban, or a matching extban. +A ban given to an Acting extban may either be a nick!user@host mask +(unless stated otherwise), matched against users as for a normal ban, +or a Matching extban. There is an additional special type of extended ban, a redirect ban: diff --git a/docs/conf/helpop.conf.example b/docs/conf/helpop.conf.example index 7d505b261..20596e696 100644 --- a/docs/conf/helpop.conf.example +++ b/docs/conf/helpop.conf.example @@ -1,4 +1,4 @@ -# Sample configuration file for m_helpop.so +# Sample configuration file for the helpop module. # You can either copy this into your conf folder and set up the module to use it, # or you can customize the responses for your network and/or add more. # @@ -50,7 +50,8 @@ OPER"> ------------- OPERMOTD CHECK CLONES USERIP TLINE -ALLTIME WALLOPS GLOBOPS +ALLTIME WALLOPS GLOBOPS MODENOTICE +CLOAK SETHOST SETIDENT CHGHOST CHGIDENT CHGNAME SETIDLE SWHOIS @@ -68,8 +69,8 @@ CONNECT SQUIT RCONNECT RSQUIT DIE RESTART REHASH CLEARCACHE LOADMODULE UNLOADMODULE RELOADMODULE GLOADMODULE GUNLOADMODULE -GRELOADMODULE RELOAD CLOSE -LOCKSERV UNLOCKSERV JUMPSERVER"> +GRELOADMODULE CLOSE JUMPSERVER +LOCKSERV UNLOCKSERV"> <helpop key="umodes" value="User Modes ---------- @@ -79,7 +80,7 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> commonchans module). d Deaf mode. User will not receive any messages or notices from channels they are in (requires deaf module). - g In combination with /allow, provides for server side + g In combination with /ACCEPT, provides for server side ignore (requires callerid module). h Marks as 'available for help' in WHOIS (IRCop only, requires helpop module). @@ -89,7 +90,7 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> having op modes removed from them (services only, requires servprotect module). o Marks as a IRC operator. - s [mask] Receives server notices specified by [mask] + s <mask> Receives server notices specified by <mask> (IRCop only). r Marks as a having a registered nickname (requires services account module). @@ -102,6 +103,8 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> hideoper module). I Hides a user's entire channel list in WHOIS from non-IRCops (requires hidechans module). + L Stops redirections done by m_redirect (mode must be + enabled in the config). R Blocks private messages from unregistered users (requires services account module). S Strips mIRC color/bold/underline codes out of private @@ -112,48 +115,49 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> <helpop key="chmodes" value="Channel Modes ------------- - v [nickname] Gives voice to [nickname], allowing them to speak + v <nickname> Gives voice to <nickname>, allowing them to speak while the channel is +m. - h [nickname] Gives halfop status to [nickname] (requires + h <nickname> Gives halfop status to <nickname> (requires customprefix module). - o [nickname] Gives op status to [nickname]. - a [nickname] Gives protected status to [nickname], preventing + o <nickname> Gives op status to <nickname>. + a <nickname> Gives protected status to <nickname>, preventing them from them from being kicked (+q only, requires customprefix module). - q [nickname] Gives owner status to [nickname], preventing them + q <nickname> Gives owner status to <nickname>, preventing them from being kicked (Services or only, requires customprefix module). - b [hostmask] Bans [hostmask] from the channel. - e [hostmask] Excepts [hostmask] from bans (requires + b <hostmask> Bans <hostmask> from the channel. + e <hostmask> Excepts <hostmask> from bans (requires banexception module). - I [hostmask] Excepts [hostmask] from +i, allowing matching + I <hostmask> Excepts <hostmask> from +i, allowing matching users to join while the channel is invite-only (requires inviteexception module). c Blocks messages containing mIRC color codes (requires blockcolor module). - f [*][lines]:[sec] Kicks on text flood equal to or above the + d <time> Blocks messages to a channel from new users + until they have been in the channel for <time> + seconds (requires delaymsg module). + f [*]<lines>:<sec> Kicks on text flood equal to or above the specified rate. With *, the user is banned (requires messageflood module). - g [mask] Blocks messages matching the given blob mask - (requires chanfilter module). i Makes the channel invite-only. Users can only join if an operator uses /INVITE to invite them. - j [joins]:[sec] Limits joins to the specified rate (requires + j <joins>:<sec> Limits joins to the specified rate (requires joinflood module). - k [key] Set the channel key (password) to [key]. - l [limit] Set the maximum allowed users to [limit]. + k <key> Set the channel key (password) to <key>. + l <limit> Set the maximum allowed users to <limit>. m Enable moderation. Only users with +v, +h, or +o can speak. n Blocks users who are not members of the channel from messaging it. - p Make channel private, hiding it in user's whoises + p Make channel private, hiding it in users' whoises and replacing it with * in /LIST. r Marks the channel as registered with Services (requires services account module). - s Make channel secret, hiding it in user's whoises + s Make channel secret, hiding it in users' whoises and /LIST. t Prevents users without +h or +o from changing the topic. @@ -161,8 +165,8 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> see themselves or themselves and the operators, while operators see all the users (requires auditorium module). - w [flag]:[banmask] Adds basic channel access controls of [flag] to - [banmask], via the +w listmode. + w <flag>:<banmask> Adds basic channel access controls of <flag> to + <banmask>, via the +w listmode. For example, +w o:R:Brain will op anyone identified to the account 'Brain' on join. (requires autoop module) @@ -178,23 +182,27 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> module). D Delays join messages from users until they message the channel (requires delayjoin module). - E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similiar messages. + E [~*][lines]:[sec]{[:difference]}{[:backlog]} Allows blocking of similar messages. Kicks as default, blocks with ~ and bans with * The last two parameters are optional. - F [changes]:[sec] Blocks nick changes when they equal or exceed the + F <changes>:<sec> Blocks nick changes when they equal or exceed the specified rate (requires nickflood module). G Censors messages to the channel based on the network configuration (requires censor module). - J [seconds] Prevents rejoin after kick for the specified + H <num>:<duration> Displays the last <num> lines of chat to joining + users. <duration> is the maximum time to keep + lines in the history buffer (requires chanhistory + module). + J <seconds> Prevents rejoin after kick for the specified number of seconds. This prevents auto-rejoin (requires kicknorejoin module). K Blocks /KNOCK on the channel. - L [channel] If the channel reaches its limit set by +l, - redirect users to [channel] (requires redirect + L <channel> If the channel reaches its limit set by +l, + redirect users to <channel> (requires redirect module). M Blocks unregistered users from speaking (requires services account module). - N Prevents users on the channel from chainging nick + N Prevents users on the channel from changing nick (requires nonicks module). O Channel is IRCops only (can only be set by IRCops, requires operchans module). @@ -207,10 +215,15 @@ LOCKSERV UNLOCKSERV JUMPSERVER"> R Blocks unregistered users from joining (requires services account module). S Strips mIRC color codes from messages to the - channel (requirs stripcolor module). + channel (requires stripcolor module). T Blocks /NOTICEs to the channel from users who are not at least halfop (requires nonotice module). + g <mask> Blocks messages matching the given glob mask + (requires chanfilter module). + X <mode> Makes channel operators immune to the specified + restrictive mode (requires exemptchanops module). + ------------- NOTE: A large number of these modes are dependent upon server-side modules being loaded by a server/network administrator. The actual modes available @@ -253,50 +266,62 @@ help channel if you have any questions."> <helpop key="extbans" value="Extended Bans ---------- - c:n!u@h Blocks any messages that contain color codes from - matching users (requires blockcolor module). - j:#channel Prevents anyone in #channel from joining the channel - (requires channelban module). - m:n!u@h Blocks messages from matching users (requires muteban - module). - p:n!u@h Blocks part messages from matching users (requires - nopartmsg module). - r:realname Prevents users with a matching realname from joining - the channel (requires gecosban module). - s:server Prevents users on a matching server from joining the - channel (requires services account). - - A:n!u@h Blocks invites by matching users even when +A is set - (requires allowinvite module). - B:n!u@h Blocks all capital or nearly all capital messages from - matching users (requires blockcaps module). - C:n!u@h Blocks CTCPs from matching users (requires noctcp - module). - M:account Blocks messages from users logged into a matching - account (requires services account module). - N:n!u@h Blocks nick changes from matching users (requires - nonicks module). - O:opertype Prevents IRCops of the specified opertype from joining - the channel, mostly useful as an invite exception (IRCop - only, requires operchans module). - Q:n!u@h Blocks kicks by matching users (requires nokicks - module). - R:account Prevents users logged into a matching account from - joining the channel (requires services account module). - S:n!u@h Strips color/bold/underline from messages from matching - users (requires stripcolor module). - T:n!u@h Blocks notices from matching users (requires nonotice - module). - U:n!u@h Blocks unregistered users matching the given ban. - (requires m_services_account) - z:certfp Blocks users having the given certificate fingerprint - (requires m_sslmodes) - - Redirect n!u@h#channel will redirect the banned user to #channel - when they try to join (requires banredirect module). - -All extbans that prevent users from joining may by used for ban -exceptions and invite exceptions (invex), and extbans blocking -specific actions may be used for ban exceptions to exempt people from -either wider extbans or the restrictive mode matching the extban, -where one exists."> +Extbans are split into two types; matching extbans, which match on +users in additional ways, and acting extbans, which restrict users +in different ways to a standard ban. + +To use an extban, simply set +b <ban> or +e <ban> with it as the ban, +instead of a normal nick!user@host mask, to ban or exempt matching +users. Ban exceptions on acting extbans exempt that user from matching +an extban of that type, and from any channel mode corresponding to the +restriction. Matching extbans may also be used for invite exceptions by +setting +I <extban>. + +Matching extbans: + + j:<channel> Matches anyone in the given channel. Does not support + wildcards (requires channelban module). + r:<realname> Matches users with a matching realname (requires gecosban + module). + s:<server> Matches users on a matching server (requires serverban + module). + z:<certfp> Matches users having the given SSL certificate + fingerprint (requires sslmodes module). + O:<opertype> Matches IRCops of a matching type, mostly useful as an + an invite exception (requires operchans module). + R:<account> Matches users logged into a matching account (requires + services account module). + +Acting extbans: + + c:<banmask> Blocks any messages that contain color codes from + matching users (requires blockcolor module). + m:<banmask> Blocks messages from matching users (requires muteban + module). Users with +v or above are not affected. + p:<banmask> Blocks part messages from matching users (requires + nopartmsg module). + A:<banmask> Blocks invites by matching users even when +A is set + (requires allowinvite module). + B:<banmask> Blocks all capital or nearly all capital messages from + matching users (requires blockcaps module). + C:<banmask> Blocks CTCPs from matching users (requires noctcp + module). + N:<banmask> Blocks nick changes from matching users (requires + nonicks module). + Q:<banmask> Blocks kicks by matching users (requires nokicks + module). + S:<banmask> Strips color/bold/underline from messages from matching + users (requires stripcolor module). + T:<banmask> Blocks notices from matching users (requires nonotice + module). + U:<banmask> Blocks unregistered users matching the given banmask. + (requires services account). + +A ban given to an Acting extban may either be a nick!user@host mask +(unless stated otherwise), matched against users as for a normal ban, +or a Matching extban. + +There is an additional special type of extended ban, a redirect ban: + + Redirect n!u@h#channel will redirect the banned user to #channel + when they try to join (requires banredirect module)."> diff --git a/docs/conf/inspircd.conf.example b/docs/conf/inspircd.conf.example index 6ef9c9d11..7ba324e47 100644 --- a/docs/conf/inspircd.conf.example +++ b/docs/conf/inspircd.conf.example @@ -14,7 +14,7 @@ # |___/ # # # ##################################||#################################### - #||# + #||# ##################################||#################################### # # # This is an example of the config file for InspIRCd. # @@ -62,7 +62,7 @@ #<include executable="/path/to/executable parameters"> # # # # Executable include example: # -#<include executable="/usr/bin/wget -q -O - http://mynet.net/inspircd.conf"> +#<include executable="/usr/bin/wget -q -O - http://example.com/inspircd.conf"> # # @@ -85,7 +85,7 @@ <server # name: Hostname of your server. Does not need to resolve, but # does need to be correct syntax (something.somethingelse.tld). - name="penguin.omega.org.za" + name="penguin.omega.example.org" # description: Server description. Spaces are allowed. description="Waddle World" @@ -132,7 +132,7 @@ # |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # # # # If you want to link servers to InspIRCd you must load the # -# m_spanningtree.so module! Please see the modules list for # +# spanningtree module! Please see the modules list for # # information on how to load this module! If you do not load this # # module, server ports will NOT work! # @@ -152,10 +152,13 @@ # to this bind section. type="clients" - # ssl: If you want this bind section to use SSL, define either - # gnutls or openssl here. The appropriate SSL modules must be loaded - # for ssl to work. If you do not want this bind section to support ssl, - # just remove or comment out this option. + # ssl: If you want the port(s) in this bind tag to use SSL, set this to + # the name of a custom <sslprofile> tag that you have defined or one + # of "openssl", "gnutls", "mbedtls" if you have not defined any. See the + # wiki page for the SSL module you are using for more details. + # + # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls + # for GnuTLS and ssl_mbedtls for mbedTLS. ssl="gnutls" # defer: When this is non-zero, connections will not be handed over to @@ -168,47 +171,39 @@ # To change it on a running bind, you'll have to comment it out, # rehash, comment it in and rehash again. defer="0" + + # free: When this is enabled the listener will be created regardless of + # whether the interface that provides the bind address is available. This + # is useful for if you are starting InspIRCd on boot when the server may + # not have brought the network interfaces up yet. + free="no" > <bind address="" port="6660-6669" type="clients"> -# When linking servers, the OpenSSL and GnuTLS implementations are completely -# link-compatible and can be used alongside each other -# on each end of the link without any significant issues. -# Supported ssl types are: "openssl" and "gnutls". -# You must load, m_ssl_openssl for OpenSSL or m_ssl_gnutls for GnuTLS. +# Listener accepting HTML5 WebSocket connections. +# Requires the websocket module and SHA-1 hashing support (provided by the sha1 +# module). +#<bind address="" port="7002" type="clients" hook="websocket"> + +# You can define a custom <sslprofile> tag which defines the SSL configuration +# for this listener. See the wiki page for the SSL module you are using for +# more details. +# +# Alternatively, you can use one of the default SSL profiles which are created +# when you have not defined any: +# "openssl" (requires the ssl_openssl module) +# "gnutls" (requires the ssl_gnutls module) +# "mbedtls" (requires the ssl_mbedtls module) +# +# When linking servers, the OpenSSL, GnuTLS, and mbedTLS implementations are +# completely link-compatible and can be used alongside each other on each end +# of the link without any significant issues. <bind address="" port="7000,7001" type="servers"> <bind address="1.2.3.4" port="7005" type="servers" ssl="openssl"> -#-#-#-#-#-#-#-#-#-#- DIE/RESTART CONFIGURATION -#-#-#-#-#-#-#-#-#-#- -# # -# You can configure the passwords here which you wish to use for # -# the /DIE and /RESTART commands. Only trusted IRCop's who will # -# need this ability should know the die and restart password. # -# # - -<power - # hash: what hash these passwords are hashed with. - # Requires the module for selected hash (m_md5.so, m_sha256.so - # or m_ripemd160.so) be loaded and the password hashing module - # (m_password_hash.so) loaded. - # Options here are: "md5", "sha256" and "ripemd160", or one of - # these prefixed with "hmac-", e.g.: "hmac-sha256". - # Optional, but recommended. Create hashed passwords with: - # /mkpasswd <hash> <password> - #hash="sha256" - - # diepass: Password for opers to use if they need to shutdown (die) - # a server. - diepass="" - - # restartpass: Password for opers to use if they need to restart - # a server. - restartpass=""> - - #-#-#-#-#-#-#-#-#-#- CONNECTIONS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # # This is where you can configure which connections are allowed # @@ -250,13 +245,14 @@ # allow: What IP addresses/hosts to allow for this block. allow="203.0.113.*" - # hash: what hash this password is hashed with. requires the module - # for selected hash (m_md5.so, m_sha256.so or m_ripemd160.so) be - # loaded and the password hashing module (m_password_hash.so) - # loaded. Options here are: "md5", "sha256" and "ripemd160". - # Optional, but recommended. Create hashed passwords with: - # /mkpasswd <hash> <password> - #hash="sha256" + # hash: the hash function this password is hashed with. Requires the + # module for the selected function (bcrypt, md5, sha1, sha256, or + # ripemd160) and the password hashing module (password_hash) to be + # loaded. + # You may also use any of the above other than bcrypt prefixed with + # either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module). + # Create hashed passwords with: /mkpasswd <hash> <password> + #hash="bcrypt" # password: Password to use for this block/user(s) password="secret" @@ -277,7 +273,7 @@ # globalmax: Maximum global (network-wide) connections per IP (or CIDR mask, see below). globalmax="3" - # maxconnwarn: Enable warnings when localmax or globalmax is hit (defaults to on) + # maxconnwarn: Enable warnings when localmax or globalmax are reached (defaults to on) maxconnwarn="off" # resolvehostnames: If disabled, no DNS lookups will be performed on connecting users @@ -285,7 +281,7 @@ resolvehostnames="yes" # usednsbl: Defines whether or not users in this class are subject to DNSBL. Default is yes. - # This setting only has effect when m_dnsbl is loaded. + # This setting only has effect when the dnsbl module is loaded. #usednsbl="yes" # useident: Defines if users in this class MUST respond to a ident query or not. @@ -295,15 +291,15 @@ limit="5000" # modes: Usermodes that are set on users in this block on connect. - # Enabling this option requires that the m_conn_umodes module be loaded. + # Enabling this option requires that the conn_umodes module be loaded. # This entry is highly recommended to use for/with IP Cloaking/masking. - # For the example to work, this also requires that the m_cloaking + # For the example to work, this also requires that the "cloaking" # module be loaded as well. modes="+x" # requireident, requiressl, requireaccount: require that users of this # block have a valid ident response, use SSL, or have authenticated. - # Requires m_ident, m_sslinfo, or m_services_account respectively. + # Requires ident, sslinfo, or the services_account module, respectively. requiressl="on" # NOTE: For requireaccount, you must complete the signon prior to full # connection. Currently, this is only possible by using SASL @@ -322,9 +318,9 @@ # \017 or \x = Stop all color sequences allowmotdcolors="false" - # port: What port this user is allowed to connect on. (optional) - # The port MUST be set to listen in the bind blocks above. - port="6697"> + # port: What port range this user is allowed to connect on. (optional) + # The ports MUST be set to listen in the bind blocks above. + port="6697,9999"> <connect # name: Name to use for this connect block. Mainly used for @@ -402,9 +398,9 @@ limit="5000" # modes: Usermodes that are set on users in this block on connect. - # Enabling this option requires that the m_conn_umodes module be loaded. + # Enabling this option requires that the conn_umodes module be loaded. # This entry is highly recommended to use for/with IP Cloaking/masking. - # For the example to work, this also requires that the m_cloaking + # For the example to work, this also requires that the cloaking # module be loaded as well. modes="+x"> @@ -462,7 +458,7 @@ # server: DNS server to use to attempt to resolve IP's to hostnames. # in most cases, you won't need to change this, as inspircd will # automatically detect the nameserver depending on /etc/resolv.conf - # (or, on windows, your set nameservers in the registry.) + # (or, on Windows, your set nameservers in the registry.) # Note that this must be an IP address and not a hostname, because # there is no resolver to resolve the name until this is defined! # @@ -496,7 +492,7 @@ # matched, the banlist size defaults to 64 entries. # # # -<banlist chan="#morons" limit="128"> +<banlist chan="#largechan" limit="128"> <banlist chan="*" limit="69"> #-#-#-#-#-#-#-#-#-#-#- DISABLED FEATURES -#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -568,18 +564,13 @@ # triggers anti-takeover mechanisms of some obsolete bots. cyclehostsfromuser="no" - # ircumsgprefix: Use undernet-style message prefixing for NOTICE and - # PRIVMSG. If enabled, it will add users' prefix to the line, if not, - # it will just message the user normally. - ircumsgprefix="no" - # announcets: If set to yes, when the timestamp on a channel changes, all users # in the channel will be sent a NOTICE about it. announcets="yes" # allowmismatch: Setting this option to yes will allow servers to link even # if they don't have the same "optionally common" modules loaded. Setting this to - # yes may introduce some desyncs and weirdness. + # yes may introduce some desyncs and unwanted behaviour. allowmismatch="no" # defaultbind: Sets the default for <bind> tags without an address. Choices are @@ -630,7 +621,7 @@ # somaxconn: The maximum number of connections that may be waiting # in the accept queue. This is *NOT* the total maximum number of # connections per server. Some systems may only allow this to be up - # to 5, while others (such as linux and *BSD) default to 128. + # to 5, while others (such as Linux and *BSD) default to 128. # Setting this above the limit imposed by your OS can have undesired # effects. somaxconn="128" @@ -672,11 +663,6 @@ # higher ranked users. This is the recommended setting. announceinvites="dynamic" - # hidemodes: If enabled, then the listmodes given will be hidden - # from users below halfop. This is not recommended to be set on +b - # as it may break some functionality in popular clients such as mIRC. - hidemodes="eI" - # hideulines: If this value is set to yes, U-lined servers will # be hidden from non-opers in /links and /map. hideulines="no" @@ -701,6 +687,9 @@ # hidekills: If defined, replaces who set a /kill with a custom string. hidekills="" + # hideulinekills: Hide kills from clients of ulined servers from server notices. + hideulinekills="yes" + # hidesplits: If enabled, non-opers will not be able to see which # servers split in a netsplit, they will only be able to see that one # occurred (If their client has netsplit detection). @@ -825,7 +814,7 @@ # - OPER - succesful and failed oper attempts # - KILL - kill related messages # - snomask - server notices (*all* snomasks will be logged) -# - FILTER - messages related to filter matches (m_filter) +# - FILTER - messages related to filter matches (filter module) # - CONFIG - configuration related messages # - COMMAND - die and restart messages, and messages related to unknown user types # - SOCKET - socket engine informational/error messages @@ -849,6 +838,11 @@ # - USERINPUT # - USEROUTPUT # +# If your server is producing a high levels of log messages you can also set the +# flush="[positive number]" attribute to specify how many log messages should be +# buffered before flushing to disk. You should probably not specify this unless +# you are having problems. +# # The following log tag is highly default and uncustomised. It is recommended you # sort out your own log tags. This is just here so you get some output. @@ -895,19 +889,15 @@ nick="ChanServ" # reason: Reason to display on /nick. - reason="Reserved For Services"> - -<badnick nick="NickServ" reason="Reserved For Services"> -<badnick nick="OperServ" reason="Reserved For Services"> -<badnick nick="MemoServ" reason="Reserved For Services"> + reason="Reserved for a network service"> <badhost # host: ident@hostname to ban. # Wildcards and CIDR (if you specify an IP) can be used. - host="*@hundredz.n.hundredz.o.1337.kiddies.example.net" + host="*@banneduser.example.net" # reason: Reason to display when user is disconnected - reason="Too many 1337 kiddiots"> + reason="Evading Bans"> <badhost host="root@*" reason="Don't IRC as root!"> <badhost host="*@198.51.100.0/24" reason="This subnet is bad."> @@ -954,7 +944,7 @@ # # # You should already know what to do here :) # -<die value="User error. Insert new user and press any key. (you didn't edit your config properly.)"> +<die value="User error. You didn't edit your config properly. Go back and try again."> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# MODULES #-#-#-#-#-#-#-#-#-#-#-#-#-#-# # ____ _ _____ _ _ ____ _ _ _ # @@ -987,6 +977,20 @@ # Settings similar to Charybdis IRCd defaults. #<include file="examples/modules/charybdis.conf.example"> +#-#-#-#-#-#-#-#-#-#-#-# SERVICES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# +# # +# If you use services you will probably want to include one of the # +# following files which set up aliases, nick reservations and filter # +# exemptions for services pseudoclients: # +# +# Anope users should uncomment this: +#<include file="examples/services/anope.conf.example"> +# +# Atheme users should uncomment this: +#<include file="examples/services/atheme.conf.example"> +# +# Users of other services should uncomment this: +#<include file="examples/services/generic.conf.example"> ######################################################################### # # diff --git a/docs/conf/links.conf.example b/docs/conf/links.conf.example index dbb29f1ff..f3e07f7ed 100644 --- a/docs/conf/links.conf.example +++ b/docs/conf/links.conf.example @@ -10,18 +10,18 @@ # |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # # # # If you want to link servers to InspIRCd you must load the # -# m_spanningtree.so module! # +# spanningtree module! # # # # # <link # name: The name of the remote server. This must match # the <server:name> value of the remote server. - name="hub.penguin.org" + name="hub.example.org" # ipaddr: The IP address of the remote server. # Can also be a hostname, but hostname must resolve. - ipaddr="penguin.box.com" + ipaddr="penguin.example.org" # port: The port to connect to the server on. # It must be bound as a server port on the other server. @@ -36,30 +36,32 @@ # failover (see above). timeout="300" - # ssl: If defined, this states the SSL module that will be used when - # making an outbound connection to the server. Options are: "openssl" - # and "gnutls" (they are compatible with each other). + # ssl: If defined, this states the SSL profile that will be used when + # making an outbound connection to the server. Options are the name of an + # <sslprofile> tag that you have defined or one of "openssl", "gnutls", + # "mbedtls" if you have not defined any. See the wiki page for the SSL + # module you are using for more details. # - # You will need to load the m_ssl_openssl.so module for OpenSSL, - # m_ssl_gnutls.so for GnuTLS. The server port that you connect to - # must be capable of accepting this type of connection. + # You will need to load the ssl_openssl module for OpenSSL, ssl_gnutls + # for GnuTLS and ssl_mbedtls for mbedTLS. The server port that you + # connect to must be capable of accepting this type of connection. ssl="gnutls" # fingerprint: If defined, this option will force servers to be - # authenticated using SSL Fingerprints. See http://wiki.inspircd.org/SSL - # for more information. This will require an SSL link for both inbound - # and outbound connections. + # authenticated using SSL certificate fingerprints. See + # http://wiki.inspircd.org/SSL for more information. This will + # require an SSL link for both inbound and outbound connections. #fingerprint="" # bind: Local IP address to bind to. bind="1.2.3.4" # statshidden: Defines if IP is shown to opers when - # /stats c is invoked. + # /STATS c is invoked. statshidden="no" # hidden: If this is set to yes, this server and its "child" - # servers will not be shown when users do a /map or /links + # servers will not be shown when users do a /MAP or /LINKS. hidden="no" # passwords: the passwords we send and receive. @@ -71,8 +73,8 @@ # A duplicate of the first link block without comments # if you like copying & pasting. -<link name="hub.penguin.org" - ipaddr="penguin.box.com" +<link name="hub.example.org" + ipaddr="penguin.example.org" port="7000" allowmask="203.0.113.0/24" timeout="300" @@ -85,7 +87,7 @@ # Link block for services. Options are the same as for the first # link block (depending on what your services package supports). -<link name="services.antarctic.com" +<link name="services.example.com" ipaddr="localhost" port="7000" allowmask="127.0.0.0/8" @@ -95,7 +97,7 @@ # Simple autoconnect block. This enables automatic connection of a server # Recommended setup is to have leaves connect to the hub, and have no # automatic connections started by the hub. -<autoconnect period="10m" server="hub.penguin.org"> +<autoconnect period="10m" server="hub.example.org"> # Failover autoconnect block. If you have multiple hubs, or want your network # to automatically link even if the hub is down, you can specify multiple @@ -103,7 +105,7 @@ # robin fashion until one succeeds. Period defines the time for restarting # a single loop. <autoconnect period="120" - server="hub.us.penguin.org hub.eu.penguin.org leaf.eu.penguin.org"> + server="hub.us.example.org hub.eu.example.org leaf.eu.example.org"> #-#-#-#-#-#-#-#-#-#-#-#- ULINES CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# @@ -115,4 +117,4 @@ # not generate quit and connect notices, which can cut down on noise # # to opers on the network. # # # -<uline server="services.antarctic.com" silent="yes"> +<uline server="services.example.com" silent="yes"> diff --git a/docs/conf/modules.conf.example b/docs/conf/modules.conf.example index e40273d39..93e26059c 100644 --- a/docs/conf/modules.conf.example +++ b/docs/conf/modules.conf.example @@ -19,10 +19,11 @@ # | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # # |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # # # -# To link servers to InspIRCd, you MUST load the m_spanningtree # -# module. If you don't do this, server links will NOT work at all. # +# To link servers to InspIRCd, you MUST load the spanningtree module. # +# If you don't do this, server links will NOT work at all. # # This is by design, to allow for the implementation of other linking # -# protocols in modules in the future. # +# protocols in modules in the future. This module is at the bottom of # +# this file. # # # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -30,38 +31,38 @@ # cryptographic uses and security. # # IMPORTANT: -# Other modules such as m_cloaking.so and m_password_hash.so may rely on +# Other modules such as cloaking and password_hash may rely on # this module being loaded to function. # -#<module name="m_md5.so"> +#<module name="md5"> # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SHA256 module: Allows other modules to generate SHA256 hashes, # usually for cryptographic uses and security. # # IMPORTANT: -# Other modules such as m_password_hash.so may rely on this module being -# loaded to function. Certain modules such as m_spanningtree.so will +# Other modules such as password_hash may rely on this module being +# loaded to function. Certain modules such as spanningtree will # function without this module but when it is loaded their features will # be enhanced (for example the addition of HMAC authentication). # -#<module name="m_sha256.so"> +#<module name="sha256"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # RIPEMD160 module: Allows other modules to generate RIPEMD160 hashes, # usually for cryptographic uses and security. # # IMPORTANT: # Other modules may rely on this module being loaded to function. -#<module name="m_ripemd160.so"> +#<module name="ripemd160"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Abbreviation module: Provides the ability to abbreviate commands a-la # BBC BASIC keywords. -#<module name="m_abbreviation.so"> +#<module name="abbreviation"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Alias module: Allows you to define server-side command aliases. -#<module name="m_alias.so"> +#<module name="alias"> # # Set the 'prefix' for in-channel aliases (fantasy commands) to the # specified character. If not set, the default is "!". @@ -71,9 +72,9 @@ # #-#-#-#-#-#-#-#-#-#-#- ALIAS DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-#-#-# # # -# If you have the m_alias.so module loaded, you may also define # -# aliases as shown below. They are commonly used to provide shortcut # -# commands to services, however they are not limited to just this use.# +# If you have the alias module loaded, you may also define aliases as # +# shown below. They are commonly used to provide shortcut commands to # +# services, however they are not limited to just this use. # # An alias tag requires the following values to be defined in it: # # # # text - The text to detect as the actual command line. # @@ -134,18 +135,6 @@ # If a non-oper attempts to use the alias, it will # # appear to not exist. # # # -#<alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -#<alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -#<alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -#<alias text="BOTSERV" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> -#<alias text="HOSTSERV" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -#<alias text="MEMOSERV" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> -#<alias text="NS" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> -#<alias text="CS" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> -#<alias text="OS" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> -#<alias text="BS" replace="PRIVMSG BotServ :$2-" requires="BotServ" uline="yes"> -#<alias text="HS" replace="PRIVMSG HostServ :$2-" requires="HostServ" uline="yes"> -#<alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> # # An example of using the format value to create an alias with two # different behaviours depending on the format of the parameters. @@ -158,8 +147,7 @@ # # This alias fixes a glitch in xchat 2.6.x and above and the way it # assumes IDENTIFY must be prefixed by a colon (:) character. It should -# be placed ABOVE the default NICKSERV alias (the first example) listed -# above. +# be placed ABOVE the default NICKSERV alias. # #<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-" # requires="NickServ" uline="yes"> @@ -179,18 +167,18 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +#<module name="allowinvite"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Alltime module: Shows time on all connected servers at once. # This module is oper-only and provides /ALLTIME. # To use, ALLTIME must be in one of your oper class blocks. -#<module name="m_alltime.so"> +#<module name="alltime"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Auditorium module: Adds channel mode +u which makes everyone else # except you in the channel invisible, used for large meetings etc. -#<module name="m_auditorium.so"> +#<module name="auditorium"> # # Auditorium settings: # @@ -214,25 +202,34 @@ # Another useful combination is with SSL client certificate # fingerprints: +w h:z:72db600734bb9546c1bdd02377bc21d2a9690d48 will # give halfop to the user(s) having the given certificate. -#<module name="m_autoop.so"> +#<module name="autoop"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Ban except module: Adds support for channel ban exceptions (+e). -#<module name="m_banexception.so"> +#<module name="banexception"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Ban redirection module: Allows bans which redirect to a specified # channel. e.g. +b nick!ident@host#channelbanneduserissentto -#<module name="m_banredirect.so"> +#<module name="banredirect"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# bcrypt module: Allows other modules to generate bcrypt hashes, +# usually for cryptographic uses and security. +#<module name="bcrypt"> +# +# rounds: Defines how many rounds the bcrypt function will run when +# generating new hashes. +#<bcrypt rounds="10"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Block amsg module: Attempt to block all usage of /amsg and /ame. -#<module name="m_blockamsg.so"> +#<module name="blockamsg"> # #-#-#-#-#-#-#-#-#-#-#- BLOCKAMSG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you have the m_blockamsg.so module loaded, you can configure it # -# with the <blockamsg> tag: # +# If you have the blockamsg module loaded, you can configure it with # +# the <blockamsg> tag: # # # # delay - How many seconds between two messages to force # # them to be recognised as unrelated. # @@ -243,42 +240,42 @@ #<blockamsg delay="3" action="killopers"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# Block CAPS module: Blocking all-CAPS messages with channel mode +B. -#<module name="m_blockcaps.so"> +# Block CAPS module: Adds channel mode +B, blocks all-CAPS messages. +#<module name="blockcaps"> # #-#-#-#-#-#-#-#-#-#-#- BLOCKCAPS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# percent - How many percent of text must be caps before text # -# will be blocked. # +# percent - What percentage of the text must be caps before # +# text will be blocked. # # # # minlen - The minimum length a line must be for the block # # percent to have any effect. # # # -# capsmap - A list of chars to be considered CAPS, this was # -# you can add CAPS for your language. Also you can # -# add things like ! and space to further lock down # -# on caps usage. # +# capsmap - A list of chars to be considered CAPS. Can be used # +# to add CAPS characters for your language. Also you # +# can add things like ! and space to further lock # +# down on caps usage. # #<blockcaps percent="50" # minlen="5" # capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! "> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Block color module: Blocking color-coded messages with chan mode +c. -#<module name="m_blockcolor.so"> +#<module name="blockcolor"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Botmode module: Adds the user mode +B. If set on a user, it will # show that the user is a bot in /WHOIS. -#<module name="m_botmode.so"> +#<module name="botmode"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # CallerID module: Adds usermode +g which activates hybrid-style -# callerid: block all private messages unless you /accept first -#<module name="m_callerid.so"> +# callerid: block all private messages unless you /ACCEPT first. +#<module name="callerid"> # #-#-#-#-#-#-#-#-#-#-#- CALLERID CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # maxaccepts - Maximum number of entries a user can add to his # -# /accept list. Default is 16 entries. # +# /ACCEPT list. Default is 16 entries. # # operoverride - Can opers (note: ALL opers) override callerid? # # Default is no. # # tracknick - Preserve /accept entries when a user changes nick? # @@ -293,23 +290,24 @@ # cooldown="60"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# CAP module: Provides the CAP negotiation mechanism seen in -# ratbox-derived ircds. -#<module name="m_cap.so"> +# CAP module: Provides the CAP negotiation mechanism required by the +# sasl, namesx, uhnames, and ircv3 modules. +# It is also recommended for STARTTLS support in the starttls module. +#<module name="cap"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # CBAN module: Lets you disallow channels from being used at runtime. -# This module is oper-only and provides /cban. +# This module is oper-only and provides /CBAN. # To use, CBAN must be in one of your oper class blocks. -#<module name="m_cban.so"> +#<module name="cban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Censor module: Adds channel and user mode +G. -#<module name="m_censor.so"> +#<module name="censor"> # #-#-#-#-#-#-#-#-#-#-#- CENSOR CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# Optional - If you specify to use the m_censor module, then you must # +# Optional - If you specify to use the censor module, then you must # # specify some censor tags. See also: # # http://wiki.inspircd.org/Modules/censor # # @@ -319,11 +317,11 @@ # CGI:IRC module: Adds support for automatic host changing in CGI:IRC # (http://cgiirc.sourceforge.net). # Adds snomask +w for monitoring CGI:IRC connections. -#<module name="m_cgiirc.so"> +#<module name="cgiirc"> # #-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# # -# Optional - If you specify to use m_cgiirc, then you must specify one +# Optional - If you specify to use cgiirc, then you must specify one # or more cgihost tags which indicate authorised CGI:IRC servers which # will be connecting to your network, and an optional cgiirc tag. # For more information see: http://wiki.inspircd.org/Modules/cgiirc @@ -336,12 +334,12 @@ # CGI:IRC documentation. # # Old style: -# <cgihost type="pass" mask="www.mysite.com"> # Get IP from PASS -# <cgihost type="ident" mask="otherbox.mysite.com"> # Get IP from ident -# <cgihost type="passfirst" mask="www.mysite.com"> # See the docs +# <cgihost type="pass" mask="www.example.com"> # Get IP from PASS +# <cgihost type="ident" mask="otherbox.example.com"> # Get IP from ident +# <cgihost type="passfirst" mask="www.example.com"> # See the docs # New style: # <cgihost type="webirc" password="foobar" -# mask="somebox.mysite.com"> # Get IP from WEBIRC +# mask="somebox.example.com"> # Get IP from WEBIRC # # IMPORTANT NOTE: # --------------- @@ -360,12 +358,12 @@ # Channel create module: Adds snomask +j, which will notify opers of # any new channels that are created. # This module is oper-only. -#<module name="m_chancreate.so"> +#<module name="chancreate"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Channel filter module: Allows channel-op defined message filtering # using simple string matches (channel mode +g). -#<module name="m_chanfilter.so"> +#<module name="chanfilter"> # # If hidemask is set to yes, the user will not be shown the mask when # his/her message is blocked. @@ -376,7 +374,7 @@ # joining a channel with +H 'X:T' set; 'T' is the maximum time to keep # lines in the history buffer. Designed so that the new user knows what # the current topic of conversation is when joining the channel. -#<module name="m_chanhistory.so"> +#<module name="chanhistory"> # # Set the maximum number of lines allowed to be stored per channel below. # This is the hard limit for 'X'. @@ -392,7 +390,7 @@ # 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"> +#<module name="chanlog"> #<chanlog snomasks="AOcC" channel="#opers"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -400,7 +398,7 @@ # characters in the channel name such as bold, colorcodes, etc. which # can be quite annoying and allow users to on occasion have a channel # that looks like the name of another channel on the network. -#<module name="m_channames.so"> +#<module name="channames"> <channames # denyrange: characters or range of characters to deny in channel @@ -414,7 +412,10 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Channelban: Implements extended ban j:, which stops anyone already # in a channel matching a ban like +b j:#channel*mask from joining. -#<module name="m_channelban.so"> +# Note that by default wildcard characters * and ? are allowed in +# channel names. To disallow them, load m_channames and add characters +# 42 and 63 to denyrange (see above). +#<module name="channelban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Check module: Adds the /CHECK command. @@ -422,7 +423,7 @@ # IP addresses and hosts. # This module is oper-only. # To use, CHECK must be in one of your oper class blocks. -#<module name="m_check.so"> +#<module name="check"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # CHGHOST module: Adds the /CHGHOST command. @@ -431,7 +432,7 @@ # NOTE: Services will not be able to set vhosts on users if this module # isn't loaded. If you're planning on running services, you probably # want to load this. -#<module name="m_chghost.so"> +#<module name="chghost"> # #-#-#-#-#-#-#-#-# /CHGHOST - /SETHOST CONFIGURATION #-#-#-#-#-#-#-#-# # Optional - If you want to use special chars for hostnames you can # @@ -446,29 +447,37 @@ # CHGIDENT module: Adds the /CHGIDENT command. # This module is oper-only. # To use, CHGIDENT must be in one of your oper class blocks. -#<module name="m_chgident.so"> +#<module name="chgident"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# CHGNAME module: Adds the /CHGNAME command +# CHGNAME module: Adds the /CHGNAME command. # This module is oper-only. # To use, CHGNAME must be in one of your oper class blocks. -#<module name="m_chgname.so"> +#<module name="chgname"> +# +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Connection class ban module: Adds support for extban 'n' which +# matches against the class name of the user's connection. +# This module assumes that connection classes are named in a uniform +# way on all servers of the network. +#<module name="classban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Clear chan module: Allows opers to masskick, masskill or mass-G/ZLine # all users on a channel using /CLEARCHAN. -#<module name="m_clearchan.so"> +#<module name="clearchan"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Cloaking module: Adds usermode +x and cloaking support. -# Relies on the module m_md5.so being loaded. -# To use, you should enable m_conn_umodes and add +x as -# an enabled mode. See the m_conn_umodes module for more information. -#<module name="m_cloaking.so"> +# Relies on the md5 module being loaded. +# To cloak users when they connect, load the conn_umodes module and set +# <connect:modes> to include the +x mode. The example <connect> tag +# shows this. See the conn_umodes module for more information. +#<module name="cloaking"> # #-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# To use m_cloaking, you must define a cloak key, and optionally a # +# To use cloaking, you must define a cloak key, and optionally a # # cloak prefix as shown below. The cloak key must be shared across # # the network for correct cloaking. # # # @@ -493,7 +502,7 @@ # Close module: Allows an oper to close all unregistered connections. # This module is oper-only and provides the /CLOSE command. # To use, CLOSE must be in one of your oper class blocks. -#<module name="m_close.so"> +#<module name="close"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Clones module: Adds an oper command /CLONES for detecting cloned @@ -501,25 +510,25 @@ # issued, use with care. # This module is oper-only. # To use, CLONES must be in one of your oper class blocks. -#<module name="m_clones.so"> +#<module name="clones"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Common channels module: Adds user mode +c, which, when set, requires # that users must share a common channel with you to PRIVMSG or NOTICE # you. -#<module name="m_commonchans.so"> +#<module name="commonchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Auto join on connect module: Allows you to force users to join one # or more channels automatically upon connecting to the server, or # join them in case they aren't on any channels after being online # for X seconds. -#<module name="m_conn_join.so"> +#<module name="conn_join"> # #-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # -# If you have m_conn_join.so loaded, you can configure it using the -# following values, or set autojoin="#chat,#help" in <connect> blocks. +# If you have the conn_join module loaded, you can configure it below +# or set autojoin="#chat,#help" in <connect> blocks. # # Join users immediately after connection to #one #two and #three. #<autojoin channel="#one,#two,#three"> @@ -530,18 +539,18 @@ # Set modes on connect module: When this module is loaded <connect> # blocks may have an optional modes="" value, which contains modes to # add or remove from users when they connect to the server. -#<module name="m_conn_umodes.so"> +#<module name="conn_umodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Wait for PONG on connect module: Send a PING to all connecting users # and don't let them connect until they reply with a PONG. # This is useful to stop certain kinds of bots and proxies. -#<module name="m_conn_waitpong.so"> +#<module name="conn_waitpong"> # #-#-#-#-#-#-#-#-#-#-#- WAITPONG CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you have the m_conn_waitpong.so module loaded, configure it with # -# the <waitpong> tag: # +# If you have the conn_waitpong module loaded, configure it with the # +# <waitpong> tag: # # # # sendsnotice - Whether to send a helpful notice to users on # # connect telling them how to connect, should # @@ -555,13 +564,13 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Channel cycle module: Adds the /CYCLE command which is a server-side # /HOP that bypasses restrictive modes. -#<module name="m_cycle.so"> +#<module name="cycle"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Connectban: Provides IP connection throttling. Any IP range that # connects too many times (configurable) in an hour is Z-Lined for a # (configurable) duration, and their count resets to 0. -#<module name="m_connectban.so"> +#<module name="connectban"> # # ipv4cidr and ipv6cidr allow you to turn the comparison from # individual IP addresses (32 and 128 bits) into CIDR masks, to allow @@ -576,7 +585,7 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Connection throttle module. -#<module name="m_connflood.so"> +#<module name="connflood"> # #-#-#-#-#-#-#-#-#-#-#- CONNTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-# # seconds, maxconns - Amount of connections per <seconds>. @@ -596,7 +605,7 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Custom prefixes: Allows for channel prefixes to be added. -#<module name="m_customprefix.so"> +#<module name="customprefix"> # # name The name of the mode, must be unique from other modes. # letter The letter used for this mode. Required. @@ -611,37 +620,38 @@ #<customprefix name="halfop" letter="h" prefix="%" rank="20000" ranktoset="30000"> #<customprefix name="halfvoice" letter="V" prefix="-" rank="1" ranktoset="20000"> # -# Do /RELOADMODULE m_customprefix.so after changing the settings of this module. +# Do /RELOADMODULE customprefix after changing the settings of this module. #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Custom title module: Adds the /TITLE command which allows for trusted # users to gain a custom whois line and an optional vhost can be # specified. -#<module name="m_customtitle.so"> +#<module name="customtitle"> # #-#-#-#-#-#-#-#-#-#- CUSTOM TITLE CONFIGURATION -#-#-#-#-#-#-#-#-#-# # name - The username used to identify. # password - The password used to identify. # hash - The hash for the specific user's password (optional). -# m_password_hash.so and a hashing module must be loaded +# password_hash and a hashing module must be loaded # for this to work. # host - Allowed hostmask (optional). # title - Title shown in whois. # vhost - Displayed host (optional). # #<title name="foo" password="bar" title="Official Chat Helper"> -#<title name="bar" password="foo" host="ident@host.name" title="Official Chat Helper" vhost="helper.network.chat"> -#<title name="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" title="Official Chat Helper"> +#<title name="bar" password="foo" host="ident@test.org" title="Official Chat Helper" vhost="helper.test.org"> +#<title name="foo" password="$2a$10$UYZ4OcO8NNTCCGyCdY9SK.2GHiqGgxZfHFPOPmWuxEVWVQTtoDC7C" hash="bcrypt" title="Official Chat Helper"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # DCCALLOW module: Adds the /DCCALLOW command. -#<module name="m_dccallow.so"> +#<module name="dccallow"> # #-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # blockchat - Whether to block DCC CHAT as well as DCC SEND. # length - Default duration of entries in DCCALLOW list. # action - Default action to take if no action is # specified, can be 'block' or 'allow'. +# maxentries - Max number of nicks to allow on a DCCALLOW list. # # File configuration: # pattern - The glob pattern to match against. @@ -649,14 +659,14 @@ # that matches this pattern, can be 'block' or # 'allow'. # -#<dccallow blockchat="yes" length="5m" action="block"> +#<dccallow blockchat="yes" length="5m" action="block" maxentries="20"> #<banfile pattern="*.exe" action="block"> #<banfile pattern="*.txt" action="allow"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Deaf module: Adds support for the usermode +d - deaf to channel # messages and channel notices. -#<module name="m_deaf.so"> +#<module name="deaf"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Delay join module: Adds the channel mode +D which delays all JOIN @@ -664,22 +674,24 @@ # speaking, their quit or part message will not be shown to the channel # which helps cut down noise on large channels in a more friendly way # than the auditorium mode. Only channel ops may set the +D mode. -#<module name="m_delayjoin.so"> +#<module name="delayjoin"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Delay message module: Adds the channel mode +d which disallows a user # from talking in the channel unless they've been joined for X seconds. # Settable using /MODE #chan +d 30 -#<module name="m_delaymsg.so"> +#<module name="delaymsg"> +# Set allownotice to no to disallow NOTICEs too. Defaults to yes. +#<delaymsg allownotice="no"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Deny channels module: Deny channels from being used by users. -#<module name="m_denychans.so"> +#<module name="denychans"> # #-#-#-#-#-#-#-#-#-#-#- DENYCHAN DEFINITIONS -#-#-#-#-#-#-#-#-#-#-#-# # # -# If you have the m_denychans.so module loaded, you need to specify # -# the channels to deny: # +# If you have the denychans module loaded, you need to specify the # +# channels to deny: # # # # name - The channel name to deny (glob masks are ok). # # allowopers - If operators are allowed to override the deny. # @@ -687,25 +699,25 @@ # redirect - Redirect the user to a different channel. # # # #<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> # -#<badchan name="#heaven" redirect="#hell" reason="Nice try!"> # +#<badchan name="#chan1" redirect="#chan2" reason="Chan1 is closed"> # # # # Redirects will not work if the target channel is set +L. # # # # Additionally, you may specify channels which are allowed, even if # # a badchan tag specifies it would be denied: # -#<goodchan name="#godsleeps"> # +#<goodchan name="#funtimes"> # # Glob masks are accepted here also. # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Devoice module: Let users devoice themselves using /DEVOICE #chan. -#<module name="m_devoice.so"> +#<module name="devoice"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # DNS blacklist module: Provides support for looking up IPs on one or # # more blacklists. # -#<module name="m_dnsbl.so"> # +#<module name="dnsbl"> # # # -# For configuration options please see the wiki page for m_dnsbl at # +# For configuration options please see the wiki page for dnsbl at # # http://wiki.inspircd.org/Modules/dnsbl # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -713,23 +725,25 @@ # channel operators to be exempt from some channel modes. Supported # # modes are blockcaps, noctcp, blockcolor, nickflood, flood, censor, # # filter, regmoderated, nonick, nonotice, and stripcolor. # -#<module name="m_exemptchanops.so"> # +#<module name="exemptchanops"> # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Filter module: Provides message filtering, similar to SPAMFILTER. # -#<module name="m_filter.so"> +#<module name="filter"> # # -# This module depends upon a regex provider such as m_regex_pcre or # -# m_regex_glob to function. You must specify which of these you want # -# m_filter to use via the tag below. # +# This module depends upon a regex provider such as regex_pcre or # +# regex_glob to function. You must specify which of these you want # +# the filter module to use via the tag below. # # # # Valid engines are: # # # -# glob - Glob patterns, provided via m_regex_glob.so # -# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre # -# tre - TRE regexps, provided via m_regex_tre.so, requires libtre # -# posix - POSIX regexps, provided via m_regex_posix.so, not availale # -# on windows, no dependencies on other operating systems. # +# glob - Glob patterns, provided via regex_glob. # +# pcre - PCRE regexps, provided via regex_pcre, needs libpcre. # +# tre - TRE regexps, provided via regex_tre, requires libtre. # +# posix - POSIX regexps, provided via regex_posix, not available # +# on Windows, no dependencies on other operating systems. # +# stdlib - stdlib regexps, provided via regex_stdlib, see comment # +# at the <module> tag for info on availability. # # # #<filteropts engine="glob"> # # # @@ -741,7 +755,7 @@ # #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# Optional - If you specify to use the m_filter module, then # +# Optional - If you specify to use the filter module, then # # specify below the path to the filter.conf file, or define some # # <filter> tags. # # # @@ -753,12 +767,12 @@ # allowing all IPs to connect to all plaintext IRC ports # #<bind address="" port="8430" type="flashpolicyd"> # #<flashpolicyd timeout="5" file=""> # -#<module name="m_flashpolicyd.so"> # +#<module name="flashpolicyd"> # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Gecos ban: Implements extended ban 'r', which stops anyone matching # a mask like +b r:*realname?here* from joining a channel. -#<module name="m_gecosban.so"> +#<module name="gecosban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # GeoIP module: Allows the server admin to match users by country code. @@ -768,7 +782,7 @@ # This module requires GeoIP to be installed on your system, # use your package manager to find the appropriate packages # or check the InspIRCd wiki page for this module. -#<module name="m_geoip.so"> +#<module name="geoip"> # # The actual allow/ban actions are done by connect classes, not by the # GeoIP module. An example connect class to ban people from russia or @@ -786,32 +800,32 @@ # Globops module: Provides the /GLOBOPS command and snomask +g. # This module is oper-only. # To use, GLOBOPS must be in one of your oper class blocks. -#<module name="m_globops.so"> +#<module name="globops"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Global load module: Allows loading and unloading of modules network- # wide (USE WITH EXTREME CAUTION!) -# This module is oper-only and provides /gloadmodule, /gunloadmodule -# and /greloadmodule. +# This module is oper-only and provides /GLOADMODULE, /GUNLOADMODULE +# and /GRELOADMODULE. # To use, GLOADMODULE, GUNLOADMODULE and GRELOADMODULE # must be in one of your oper class blocks. -#<module name="m_globalload.so"> +#<module name="globalload"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # HELPOP module: Provides the /HELPOP command -#<module name="m_helpop.so"> +#<module name="helpop"> # #-#-#-#-#-#-#-#-#-#-#-#- HELPOP CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you specify to use the m_helpop.so module, then specify below # -# the path to the helpop.conf file. # +# If you specify to use the helpop module, then specify below the # +# path to the helpop.conf file. # # # #<include file="examples/inspircd.helpop-full.example"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Hide chans module: Allows users to hide their channels list from non- # opers by setting user mode +I on themselves. -#<module name="m_hidechans.so"> +#<module name="hidechans"> # # This mode can optionally prevent opers from seeing channels on a +I # user, for more privacy if set to true. @@ -819,83 +833,107 @@ #<hidechans affectsopers="false"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# Hide list module: Allows for hiding the list of listmodes from users +# who do not have sufficient channel rank. +#<module name="hidelist"> +# +# Each <hidelist> tag configures one listmode to hide. +# mode: Name of the listmode to hide. +# rank: Minimum rank required to view the list. If set to 0, all +# members of the channel may view the list, but non-members may not. +# The rank of the built-in op and voice mode is 30000 and 10000, +# respectively; the rank of other prefix modes is configurable. +# Defaults to 20000. +# +# Hiding the ban list is not recommended because it may break some +# clients. +# +# Hide filter (+g) list: +#<hidelist mode="filter" rank="30000"> +# Only show invite exceptions (+I) to channel members: +#<hidelist mode="invex" rank="0"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Hide oper module: Allows opers to hide their oper status from non- # opers by setting user mode +H on themselves. # This module is oper-only. -#<module name="m_hideoper.so"> +#<module name="hideoper"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Hostchange module: Allows a different style of cloaking. -#<module name="m_hostchange.so"> +#<module name="hostchange"> # #-#-#-#-#-#-#-#-#-#-#- HOSTCHANGE CONFIGURATION -#-#-#-#-#-#-#-#-#-# # # # See http://wiki.inspircd.org/Modules/hostchange for help. # # # -#<host suffix="polarbears.org" separator="." prefix=""> -#<hostchange mask="*@fbi.gov" action="addnick"> -#<hostchange mask="*r00t@*" action="suffix"> -#<hostchange mask="a@b.com" action="set" value="blah.blah.blah"> +#<host suffix="invalid.org" separator="." prefix=""> +#<hostchange mask="*@42.theanswer.example.org" action="addnick"> +#<hostchange mask="*root@*" action="suffix"> +#<hostchange mask="a@example.com" action="set" value="foo.bar.baz"> #<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo"> # hostcycle: If loaded, when a user gets a host or ident set, it will # cycle them in all their channels. If not loaded it will simply change # their host/ident without cycling them. -#<module name="m_hostcycle.so"> +# This module is compatible with the ircv3_chghost module. Clients +# supporting the chghost extension will get the chghost message instead +# of seeing a host cycle. +#<module name="hostcycle"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # httpd module: Provides HTTP server support for InspIRCd. -#<module name="m_httpd.so"> +#<module name="httpd"> # #-#-#-#-#-#-#-#-#-#-#-#- HTTPD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # -# If you choose to use the m_httpd.so module, then you will need to add +# If you choose to use the httpd module, then you will need to add # a <bind> tag with type "httpd", and load at least one of the other -# m_httpd_* modules to provide pages to display. +# httpd_* modules to provide pages to display. # # You can adjust the timeout for HTTP connections below. All HTTP # connections will be closed after (roughly) this many seconds. #<httpd timeout="20"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# HTTP ACL module: Provides access control lists for m_httpd dependent +# HTTP ACL module: Provides access control lists for httpd dependent # modules. Use this module to restrict pages by IP address and by # password. -#<module name="m_httpd_acl.so"> +#<module name="httpd_acl"> # #-#-#-#-#-#-#-#-#-#-#-#- HTTPD ACL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # -# Restrict access to the m_httpd_stats module to all but the local +# Restrict access to the httpd_stats module to all but the local # network and when the correct password is specified: # <httpdacl path="/stats*" types="password,whitelist" -# username="secretstuff" password="mypasshere" whitelist="127.0.0.*,10.*"> +# username="secrets" password="mypasshere" whitelist="127.0.0.*,10.*"> # # Deny all connections to all but the main index page: # <httpdacl path="/*" types="blacklist" blacklist="*"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # HTTP config module: Allows the configuration of the server to be -# viewed over HTTP. Requires m_httpd.so to be loaded for it to function. -#<module name="m_httpd_config.so"> +# viewed over HTTP. Requires httpd to be loaded for it to function. +#<module name="httpd_config"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # HTTP stats module: Provides basic stats pages over HTTP. -# Requires m_httpd.so to be loaded for it to function. -#<module name="m_httpd_stats.so"> +# Requires httpd to be loaded for it to function. +#<module name="httpd_stats"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +#<module name="ident"> # #-#-#-#-#-#-#-#-#-#-#-#- IDENT CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# Optional - If you are using the m_ident.so module, then you can # -# specify the timeout for ident lookups here. If not defined, it will # -# default to 5 seconds. This is a non-blocking timeout which holds # -# the user in a 'connecting' state until the lookup is complete. # +# Optional - If you are using the ident module, then you can specify # +# the timeout for ident lookups here. If not defined, it will default # +# to 5 seconds. This is a non-blocking timeout which holds the user # +# in a 'connecting' state until the lookup is complete. # # The bind value indicates which IP to bind outbound requests to. # # nolookupprefix: If on, the idents of users being in a connect class # # with ident lookups disabled (i.e. <connect useident="off">) will be # @@ -907,8 +945,8 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Invite exception module: Adds support for channel invite exceptions # (+I). -#<module name="m_inviteexception.so"> -# Does a +I bypass channel +k in addition to +i? +#<module name="inviteexception"> +# bypasskey: If this is enabled, exceptions will bypass +k as well as +i #<inviteexception bypasskey="yes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -916,22 +954,51 @@ # extended-join, away-notify and account-notify. These are optional # enhancements to the client-to-server protocol. An extension is only # active for a client when the client specifically requests it, so this -# module needs m_cap to work. +# module needs the cap module to work. # # Further information on these extensions can be found at the IRCv3 # working group website: # http://ircv3.org/extensions/ # -#<module name="m_ircv3.so"> +#<module name="ircv3"> # The following block can be used to control which extensions are -# enabled. Note that extended-join can be incompatible with m_delayjoin +# enabled. Note that extended-join can be incompatible with delayjoin # and host cycling. #<ircv3 accountnotify="on" awaynotify="on" extendedjoin="on"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# IRCv3 cap-notify module: Provides the cap-notify IRCv3.2 extension. +# Required for IRCv3.2 conformance. +#<module name="ircv3_capnotify"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# IRCv3 chghost module: Provides the chghost IRCv3.2 extension which +# allows capable clients to learn when the host/ident of another user +# changes without cycling the user. This module is compatible with the +# hostcycle module. If both are loaded, clients supporting the chghost +# extension will get the chghost message and won't see host cycling. +#<module name="ircv3_chghost"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# IRCv3 echo-message module: Provides the echo-message IRCv3.2 +# extension which allows capable clients to get an acknowledgement when +# their messages are delivered and learn what modifications, if any, +# were applied to them. +#<module name="ircv3_echomessage"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# IRCv3 invite-notify module: Provides the invite-notify IRCv3.2 +# extension which notifies supporting clients when a user invites +# another user into a channel. This respects <options:announceinvites>. +#<module name="ircv3_invitenotify"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Join flood module: Adds support for join flood protection +j X:Y. -# Closes the channel for 60 seconds if X users join in Y seconds. -#<module name="m_joinflood.so"> +# Closes the channel for N seconds if X users join in Y seconds. +#<module name="joinflood"> +# +# The number of seconds to close the channel for: +#<joinflood duration="1m"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Jump server module: Adds support for the RPL_REDIR numeric. @@ -939,15 +1006,15 @@ # To use, JUMPSERVER must be in one of your oper class blocks. # If your server is redirecting new clients and you get disconnected, # do a REHASH from shell to open up again. -#<module name="m_jumpserver.so"> +#<module name="jumpserver"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Anti auto rejoin: Adds support for prevention of auto-rejoin (+J). -#<module name="m_kicknorejoin.so"> +#<module name="kicknorejoin"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Knock module: Adds the /KNOCK command and channel mode +K. -#<module name="m_knock.so"> +#<module name="knock"> # # This setting specifies what to do when someone successfully /KNOCKs. # If set to "notice", then a NOTICE will be sent to the channel. @@ -965,7 +1032,7 @@ # ./configure --enable-extras=m_ldap.cpp # and run make install, then uncomment this module to enable it. # -#<module name="m_ldap.so"> +#<module name="ldap"> #<database module="ldap" id="ldapdb" server="ldap://localhost" binddn="cn=Manager,dc=inspircd,dc=org" bindauth="mysecretpass" searchscope="subtree"> # The server parameter indicates the LDAP server to connect to. The # # ldap:// style scheme before the hostname proper is MANDATORY. # @@ -982,7 +1049,7 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # LDAP authentication module: Adds the ability to authenticate users # # via LDAP. # -#<module name="m_ldapauth.so"> +#<module name="ldapauth"> # # # Configuration: # # # @@ -992,7 +1059,8 @@ # allowpattern="Guest* Bot*" # # killreason="Access denied" # # verbose="yes" # -# host="$uid.$ou.inspircd.org"> # +# host="$uid.$ou.inspircd.org" # +# useusername="no"> # # # # <ldapwhitelist cidr="10.42.0.0/16"> # # # @@ -1009,6 +1077,10 @@ # regardless of if they have an account, for example guest and bot # # users. # # # +# The useusername setting chooses whether the user's username or # +# nickname is used when locating a user account, if a username isn't # +# provided in PASS. # +# # # Killreason indicates the QUIT reason to give to users if they fail # # to authenticate. # # # @@ -1035,7 +1107,7 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # LDAP oper configuration module: Adds the ability to authenticate # # opers via LDAP. # -#<module name="m_ldapoper.so"> +#<module name="ldapoper"> # # # Configuration: # # # @@ -1044,8 +1116,8 @@ # attribute="uid"> # # # Available configuration items are identical to the same items in # -# m_ldapauth above (except for the verbose setting, that is only # -# supported in m_ldapauth). # +# ldapauth above (except for the verbose setting, that is only # +# supported in ldapauth). # # Please always specify a password in your <oper> tags even if the # # opers are to be authenticated via LDAP, so in case this module is # # not loaded the oper accounts are still protected by a password. # @@ -1059,44 +1131,37 @@ # If your server is locked and you get disconnected, do a REHASH from # # shell to open up again. # # This module is oper-only. -#<module name="m_lockserv.so"> +#<module name="lockserv"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Map hiding module: replaces /MAP and /LINKS output to users with a # -# message to see a website, set by maphide="http://link.to/site" in # +# message to see a website, set by maphide="http://test.org/map" in # # the <security> tag, instead. # -#<module name="m_maphide.so"> +#<module name="maphide"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Message flood module: Adds message/notice flood protection via # channel mode +f. -#<module name="m_messageflood.so"> +#<module name="messageflood"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # MLOCK module: Adds support for server-side enforcement of services # side MLOCKs. Basically, this module suppresses any mode change that # would likely be immediately bounced by services. -#<module name="m_mlock.so"> +#<module name="mlock"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Modenotice module: Adds the /MODENOTICE command that allows opers to # send notices to all users having the given user mode(s) set. -#<module name="m_modenotice.so"> +#<module name="modenotice"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# MsSQL module: Allows other SQL modules to access MS SQL Server -# through a unified API. -# This module is in extras. Re-run configure with: -# ./configure --enable-extras=m_mssql.cpp -# and run make install, then uncomment this module to enable it. -#<module name="m_mssql.so"> -# -#-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# -# # -# m_mssql.so is more complex than described here, see wiki for more # -# info http://wiki.inspircd.org/Modules/mssql # +# Monitor module: Adds support for MONITOR which is used by clients to +# maintain notify lists. +#<module name="monitor"> # -#<database module="mssql" name="db" user="user" pass="pass" host="localhost" id="db1"> +# Set the maximum number of entries on a user's monitor list below. +#<monitor maxentries="30"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # MySQL module: Allows other SQL modules to access MySQL databases @@ -1104,12 +1169,12 @@ # This module is in extras. Re-run configure with: # ./configure --enable-extras=m_mysql.cpp # and run make install, then uncomment this module to enable it. -#<module name="m_mysql.so"> +#<module name="mysql"> # #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # -# m_mysql.so is more complex than described here, see the wiki for # -# more: http://wiki.inspircd.org/Modules/mysql # +# mysql is more complex than described here, see the wiki for more # +# info: http://wiki.inspircd.org/Modules/mysql # # #<database module="mysql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database2"> @@ -1118,69 +1183,76 @@ # modes via long-form mode names via +Z and the /PROP command. # For example, to set a ban, do /mode #channel +Z ban=foo!bar@baz or # /PROP #channel ban=foo!bar@baz -#<module name="m_namedmodes.so"> +#<module name="namedmodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # NAMESX module: Provides support for the NAMESX extension which allows # clients to see all the prefixes set on a user without getting confused. # This is supported by mIRC, x-chat, klient, and maybe more. -#<module name="m_namesx.so"> +#<module name="namesx"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # National characters module: # 1) Allows using national characters in nicknames. # 2) Allows using custom (national) casemapping over the network. -#<module name="m_nationalchars.so"> -# -# file - filename of existing file in "locales" directory -# casemapping - custom value for 005 numeric (if you want it to be -# different from the filename). +#<module name="nationalchars"> +# +# file - Location of the file which contains casemapping rules. If this +# is a relative path then it is relative to "<PWD>/../locales" +# on UNIX and "<PWD>/locales" on Windows. +# casemapping - The name of the casemapping sent to clients in the 005 +# numeric. If this is not set then it defaults to the name +# of the casemapping file unless the file name contains a +# space in which case you will have to specify it manually. #<nationalchars file="bynets/russian-w1251-charlink" casemapping="ru_RU.cp1251-charlink"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Nickchange flood protection module: Provides channel mode +F X:Y # which allows up to X nick changes in Y seconds. -#<module name="m_nickflood.so"> +#<module name="nickflood"> +# +# The number of seconds to prevent nick changes for: +#<nickflood duration="1m"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Nicklock module: Let opers change a user's nick and then stop that -# user from changing their nick again. +# user from changing their nick again until unlocked. # This module is oper-only. # To use, NICKLOCK and NICKUNLOCK must be in one of your oper class blocks. -#<module name="m_nicklock.so"> +#<module name="nicklock"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # No CTCP module: Adds the channel mode +C to block CTCPs and extban # 'C' to block CTCPs sent by specific users. -#<module name="m_noctcp.so"> +#<module name="noctcp"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # No kicks module: Adds the +Q channel mode and the Q: extban to deny # certain users from kicking. -#<module name="m_nokicks.so"> +#<module name="nokicks"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # No nicks module: Adds the +N channel mode, as well as the 'N' extban. # +N stops all users from changing their nick, the N extban stops # anyone from matching a +b N:nick!user@host mask from changing their # nick. -#<module name="m_nonicks.so"> +#<module name="nonicks"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # No part message module: Adds extban 'p' to block part messages from # # matching users. # -#<module name="m_nopartmsg.so"> +#<module name="nopartmsg"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # No notice module: Adds the channel mode +T and the extban 'T' to # block specific users from noticing the channel. -#<module name="m_nonotice.so"> +#<module name="nonotice"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Network business join module: # Allows an oper to join a channel using /OJOIN, giving them +Y on the # channel which makes them immune to kick/deop/etc. -#<module name="m_ojoin.so"> +#<module name="ojoin"> # # Specify the prefix that +Y will grant here. # Leave 'prefix' empty if you do not wish +Y to grant a prefix. @@ -1195,16 +1267,17 @@ # /mode #channel +iI O:* is equivalent to channel mode +O, but you # may also set +iI O:AdminTypeOnly to only allow admins. # Modes +I and +e work in a similar fashion. -#<module name="m_operchans.so"> +#<module name="operchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Oper join module: Auto-joins opers to a channel upon oper-up. -# This module is oper-only. For the user equivalent, see m_conn_join. -#<module name="m_operjoin.so"> +# This module is oper-only. For the user equivalent, see the conn_join +# module. +#<module name="operjoin"> # #-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you are using the m_operjoin.so module, specify options here: # +# If you are using the operjoin module, specify options here: # # # # channel - The channel name to join, can also be a comma # # separated list e.g. "#channel1,#channel2". # @@ -1224,16 +1297,21 @@ # type "m_operlog" at default loglevel), and optionally to the 'r' # snomask. # This module is oper-only. -#<module name="m_operlog.so"> +#<module name="operlog"> # # If the following option is on then all oper commands will be sent to # the snomask 'r'. The default is off. #<operlog tosnomask="off"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# Oper prefixing module: Gives server operators a prefix status -# character on all channels they are in. -#<module name="m_operprefix.so"> +# Oper prefixing module: Adds a channel prefix mode +y which is given +# to all IRC operators automatically on all channels they are in. +# This prefix mode is more powerful than channel op and other regular +# prefix modes. +# +# Load this module if you want all your IRC operators to have channel +# operator powers. +#<module name="operprefix"> # # You may additionally customise the prefix character. #<operprefix prefix="!"> @@ -1242,11 +1320,11 @@ # Oper MOTD module: Provides support for separate message of the day # on oper-up. # This module is oper-only. -#<module name="m_opermotd.so"> +#<module name="opermotd"> # #-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you are using the m_opermotd.so module, specify the motd here. # +# If you are using the opermotd module, specify the motd here. # # # # onoper - If on, the message is sent on /OPER, otherwise it's # # only sent when /OPERMOTD is used. # @@ -1260,11 +1338,11 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Override module: Adds support for oper override. # This module is oper-only. -#<module name="m_override.so"> +#<module name="override"> # #-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# m_override.so is too complex it describe here, see the wiki: # +# override is too complex it describe here, see the wiki: # # http://wiki.inspircd.org/Modules/override # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -1272,21 +1350,22 @@ # being taken by lower level opers against higher level opers. # Specify the level as the 'level' parameter of the <type> tag. # This module is oper-only. -#<module name="m_operlevels.so"> +#<module name="operlevels"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Oper modes module: Allows you to specify modes to add/remove on oper. # Specify the modes as the 'modes' parameter of the <type> tag # and/or as the 'modes' parameter of the <oper> tag. -# This module is oper-only. For the user equivalent, see m_conn_umodes. -#<module name="m_opermodes.so"> +# This module is oper-only. For the user equivalent, see the +# conn_umodes module. +#<module name="opermodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Password forwarding module: Forwards a password users can send on # connect to the specified client below. The client is usually NickServ # and this module is usually used to authenticate users with NickServ # using their connect password. -#<module name="m_passforward.so"> +#<module name="passforward"> <passforward # nick: nick to forward connect passwords to. @@ -1304,8 +1383,8 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Password hash module: Allows hashed passwords to be used. -# To be useful, a hashing module like m_sha256.so also needs to be loaded. -#<module name="m_password_hash.so"> +# To be useful, a hashing module like bcrypt also needs to be loaded. +#<module name="password_hash"> # #-#-#-#-#-#-#-#-#-# PASSWORD HASH CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-# # @@ -1313,28 +1392,44 @@ # password you want to hash. For example: # # <oper name="Brain" -# host="ident@dialup15.isp.com" -# hash="sha256" -# password="01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" +# host="ident@dialup15.isp.test.com" +# hash="bcrypt" +# password="$2a$10$Mss9AtHHslZTLBrXqM0FB.JBwD.UTSu8A48SfrY9exrpxbsRiRTbO" # type="NetAdmin"> # -# Starting from 2.0, you can use a more secure salted hash that prevents simply -# looking up the hash's value in a rainbow table built for the hash. +# If you are using a hash algorithm which does not perform salting you can use +# HMAC to salt your passwords in order to prevent them from being looked up in +# a rainbow table. +# # hash="hmac-sha256" password="lkS1Nbtp$CyLd/WPQXizsbxFUTqFRoMvaC+zhOULEeZaQkUJj+Gg" # # Generate hashes using the /MKPASSWD command on the server. # Don't run it on a server you don't trust with your password. #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# PBKDF2 module: Allows other modules to generate PBKDF2 hashes, +# usually for cryptographic uses and security. +# This module relies on other hash providers (e.g. SHA256). +#<module name="pbkdf2"> +# +# iterations: Iterations the hashing function runs when generating new +# hashes. +# length: Length in bytes of the derived key. +#<pbkdf2 iterations="12288" length="32"> +# You can override these values with specific values +# for specific providers if you want to. Example given for SHA256. +#<pbkdf2prov hash="sha256" iterations="24576"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Permanent channels module: Channels with the permanent channel mode # will remain open even after everyone else has left the channel, and # therefore keep things like modes, ban lists and topic. Permanent # channels -may- need support from your Services package to function # properly with them. This adds channel mode +P. # This module is oper-only. -#<module name="m_permchannels.so"> +#<module name="permchannels"> # -# If you like, m_permchannels can write a config file of permanent channels +# If you like, this module can write a config file of permanent channels # whenever +P is set, unset, or the topic/modes on a +P channel is changed. # If you want to do this, set the filename below, and uncomment the include. # @@ -1344,7 +1439,6 @@ #<include file="permchannels.conf"> # # You may also create channels on startup by using the <permchannels> block. -# Don't forget to set them +P in the modes, or they won't stay permanent. #<permchannels channel="#opers" modes="isP" topic="Opers only."> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -1353,11 +1447,11 @@ # This module is in extras. Re-run configure with: # ./configure --enable-extras=m_pgsql.cpp # and run make install, then uncomment this module to enable it. -#<module name="m_pgsql.so"> +#<module name="pgsql"> # #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # -# m_pgsql.so is more complex than described here, see the wiki for # +# pgsql is more complex than described here, see the wiki for # # more: http://wiki.inspircd.org/Modules/pgsql # # #<database module="pgsql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database" ssl="no"> @@ -1365,18 +1459,18 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +#<module name="muteban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Random quote module: Provides a random quote on connect. # NOTE: Some of these may mimic fatal errors and confuse users and # opers alike - BEWARE! -#<module name="m_randquote.so"> +#<module name="randquote"> # #-#-#-#-#-#-#-#-#-#- RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# Optional - If you specify to use the m_randquote.so module, then # -# specify below the path to the quotes file. # +# Optional - If you specify to use the randquote module, then specify # +# below the path to the quotes file. # # # #<randquote file="quotes.txt"> @@ -1390,37 +1484,37 @@ # This also breaks linking to servers that do not have the option. # # This defaults to false for the 2.0 version, it will be enabled in # # all the future versions. # -#<module name="m_redirect.so"> +#<module name="redirect"> #<redirect antiredirect="true"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Regular expression provider for glob or wildcard (?/*) matching. -# You must have at least 1 provider loaded to use m_filter or m_rline +# You must have at least 1 provider loaded to use the filter or rline # modules. This module has no additional requirements, as it uses the # matching already present in InspIRCd core. -#<module name="m_regex_glob.so"> +#<module name="regex_glob"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +# module. You must have at least 1 provider loaded to use the filter or +# rline modules. +#<module name="regex_pcre"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Regular Expression Provider for RE2 Regular Expressions. # You need libre2 installed and in your include/library paths in order # to compile and load this module. -#<module name="m_regex_re2.so"> +#<module name="regex_re2"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Regular expression provider for POSIX regular expressions. # You shouldn't need any additional libraries on a POSIX-compatible # system (i.e.: any Linux, BSD, but not Windows). You must have at -# least 1 provider loaded to use m_filter or m_rline. +# least 1 provider loaded to use filter or rline. # On POSIX-compliant systems, regex syntax can be found by using the # command: 'man 7 regex'. -#<module name="m_regex_posix.so"> +#<module name="regex_posix"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Regular expression provider for C++11 std::regex regular expressions. @@ -1430,7 +1524,7 @@ # You should verify that std::regex is supported by your setup before # using this module, as it may compile normally but won't do anything # on some implementations. -#<module name="m_regex_stdlib.so"> +#<module name="regex_stdlib"> # # Specify the regular expression engine to use here. Valid settings are # bre, ere, awk, grep, egrep, ecmascript (default if not specified). @@ -1439,10 +1533,10 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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, +# 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"> +#<module name="regex_tre"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Registered users only channel creation module. If enabled, only @@ -1450,15 +1544,21 @@ # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_regonlycreate.so"> +#<module name="regonlycreate"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Remove module: Adds the /REMOVE command which is a peaceful # alternative to /KICK. -#<module name="m_remove.so"> +#<module name="remove"> +# +# supportnokicks: If true, /REMOVE is not allowed on channels where the +# nokicks (+Q) mode is set. Defaults to false. +# protectedrank: Members having this rank or above may not be /REMOVE'd +# by anyone. Set to 0 to disable this feature. Defaults to 50000. +#<remove supportnokicks="true" protectedrank="50000"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# A module to block, kick or ban upon similiar messages being uttered several times. +# A module to block, kick or ban upon similar messages being uttered several times. # Syntax [~*][lines]:[sec]{[:difference]}{[:matchlines]} # ~ is to block, * is to ban, default is kick. # lines - In mode 1 the amount of lines that has to match consecutively - In mode 2 the size of the backlog to keep for matching @@ -1475,25 +1575,25 @@ # before they are checked, resulting in less CPU usage. Increasing this beyond 512 # doesn't have any effect, as the maximum length of a message on IRC cannot exceed that. #<repeat maxbacklog="20" maxlines="20" maxdistance="50" maxsecs="0" size="512"> -#<module name="m_repeat.so"> +#<module name="repeat"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Restricted channels module: Allows only opers to create channels. # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_restrictchans.so"> +#<module name="restrictchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Restrict message module: Allows users to only message opers. # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_restrictmsg.so"> +#<module name="restrictmsg"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # R-Line module: Ban users through regular expression patterns. -#<module name="m_rline.so"> +#<module name="rline"> # #-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # @@ -1503,7 +1603,7 @@ # 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 non-functional +# regex_<engine> must be loaded, or rline will be non-functional # until you load it or change the engine to one that is loaded. # #<rline matchonnickchange="yes" engine="pcre"> @@ -1521,7 +1621,7 @@ # Allows channel mods to remove list modes en masse. # Syntax: /rmode <channel> <mode> [pattern] # E.g. '/rmode #Channel b m:*' will remove all mute-extbans on the channel. -#<module name="m_rmode.so"> +#<module name="rmode"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SAJOIN module: Adds the /SAJOIN command which forcibly joins a user @@ -1530,14 +1630,14 @@ # To use, SAJOIN must be in one of your oper class blocks. # Opers need the users/sajoin-others priv to be able to /SAJOIN users # other than themselves. -#<module name="m_sajoin.so"> +#<module name="sajoin"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SAKICK module: Adds the /SAKICK command which kicks a user from the # given channel. # This module is oper-only. # To use, SAKICK must be in one of your oper class blocks. -#<module name="m_sakick.so"> +#<module name="sakick"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SAMODE module: Adds the /SAMODE command which allows server operators @@ -1545,55 +1645,54 @@ # channel priviliges. Also allows changing user modes for any user. # This module is oper-only. # To use, SAMODE must be in one of your oper class blocks. -#<module name="m_samode.so"> +#<module name="samode"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SANICK module: Adds the /SANICK command which allows opers to change # users' nicks. # This module is oper-only. # To use, SANICK must be in one of your oper class blocks. -#<module name="m_sanick.so"> +#<module name="sanick"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SAPART module: Adds the /SAPART command which forcibly parts a user # from a channel. # This module is oper-only. # To use, SAPART must be in one of your oper class blocks. -#<module name="m_sapart.so"> +#<module name="sapart"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SAQUIT module: Adds the /SAQUIT command which forcibly quits a user. # This module is oper-only. # To use, SAQUIT must be in one of your oper class blocks. -#<module name="m_saquit.so"> +#<module name="saquit"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SATOPIC module: Adds the /SATOPIC command which allows changing the # topic on a channel without requiring any channel priviliges. # This module is oper-only. # To use, SATOPIC must be in one of your oper class blocks. -#<module name="m_satopic.so"> +#<module name="satopic"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SASL authentication module: Provides support for IRC Authentication -# Layer via AUTHENTICATE. Note: You also need to have m_cap.so loaded +# Layer via AUTHENTICATE. Note: You also need to have cap loaded # for SASL to work. -#<module name="m_sasl.so"> +#<module name="sasl"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Secure list module: Prevent /LIST in the first minute of connection, # crippling most spambots and trojan spreader bots. -#<module name="m_securelist.so"> +#<module name="securelist"> # #-#-#-#-#-#-#-#-#-# SECURELIST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # -# Securelist can be harmful to some IRC search engines such as # -# netsplit.de and searchirc.com. To prevent securelist blocking these # -# sites from listing, define exception tags as shown below: # -#<securehost exception="*@*.searchirc.org"> +# Securelist can be harmful to some IRC search engines. To prevent # +# securelist blocking these sites from listing, define exception tags # +# as shown below: # #<securehost exception="*@*.netsplit.de"> -#<securehost exception="*@echo940.server4you.de"> #<securehost exception="*@*.ircdriven.com"> +#<securehost exception="*@*.irc-source.com"> # # # Define the following variable to change how long a user must wait # # before issuing a LIST. If not defined, defaults to 60 seconds. # @@ -1603,19 +1702,19 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Servprotect module: Provides support for Austhex style +k / # UnrealIRCD +S services mode. -#<module name="m_servprotect.so"> +#<module name="servprotect"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # See nicks module: Adds snomask +n and +N which show local and remote # nick changes. # This module is oper-only. -#<module name="m_seenicks.so"> +#<module name="seenicks"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Set idle module: Adds a command for opers to change their idle time. # This module is oper-only. # To use, SETIDLE must be in one of your oper class blocks. -#<module name="m_setidle.so"> +#<module name="setidle"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Services support module: Adds several usermodes such as +R and +M. @@ -1626,41 +1725,45 @@ # as identified separately from the idea of a master account, which # can be useful for services which are heavily nick-as-account centric. # -# Also of note is that this module implements three extbans: +# 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) # +b U:n!u@h (blocks matching unregistered users) # -#<module name="m_services_account.so"> +#<module name="services_account"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Sethost module: Adds the /SETHOST command. # This module is oper-only. # To use, SETHOST must be in one of your oper class blocks. -# See m_chghost for how to customise valid chars for hostnames -#<module name="m_sethost.so"> +# See the chghost module for how to customise valid chars for hostnames. +#<module name="sethost"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Setident module: Adds the /SETIDENT command. # This module is oper-only. # To use, SETIDENT must be in one of your oper class blocks. -#<module name="m_setident.so"> +#<module name="setident"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SETNAME module: Adds the /SETNAME command. -#<module name="m_setname.so"> +#<module name="setname"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +#<module name="serverban"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# SHA1 module: Allows other modules to generate SHA1 hashes. +# Required by the WebSocket module. +#<module name="sha1"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Showfile: Provides support for showing a text file to users when # # they enter a command. # # This module adds one command for each <showfile> tag that shows the # # given file to the user as a series of messages or numerics. # -#<module name="m_showfile.so"> # +#<module name="showfile"> # # # #-#-#-#-#-#-#-#-#-#-# SHOWFILE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # @@ -1670,7 +1773,7 @@ # By default same as the command name. # # method - How should the file be shown? # # * numeric: Send contents using a numeric # -# (similiar to /MOTD; the default). # +# (similar to /MOTD; the default). # # * notice: Send contents as a series of notices. # # * msg: Send contents as a series of private messages. # # colors - If true, color codes (\c, \b, \u, etc.) will be processed # @@ -1696,7 +1799,7 @@ # Show whois module: Adds the +W usermode which allows opers to see # when they are /WHOIS'd. # This module is oper-only by default. -#<module name="m_showwhois.so"> +#<module name="showwhois"> # # If you wish, you may also let users set this mode. Only opers with the # users/auspex priv will see real hosts of people, though. @@ -1711,7 +1814,7 @@ # executing all except configured commands. # This module is oper-only. # To use, SHUN must be in one of your oper class blocks. -#<module name="m_shun.so"> +#<module name="shun"> # # You may also configure which commands you wish a user to be able to # perform when shunned. It should be noted that if a shunned user @@ -1727,60 +1830,68 @@ # SSL channel mode module: Adds support for SSL-only channels via # channel mode +z and the 'z' extban which matches SSL client # certificate fingerprints. -# Does not do anything useful without a working SSL module (see below). -#<module name="m_sslmodes.so"> +# Does not do anything useful without a working SSL module and the +# sslinfo module (see below). +#<module name="sslmodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # GnuTLS SSL module: Adds support for SSL connections using GnuTLS, # if enabled. You must answer 'yes' in ./configure when asked or # manually symlink the source for this module from the directory # src/modules/extra, if you want to enable this, or it will not load. -#<module name="m_ssl_gnutls.so"> +#<module name="ssl_gnutls"> # #-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_gnutls.so is too complex to describe here, see the wiki: # +# ssl_gnutls is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_gnutls # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SSL info module: Allows users to retrieve information about other # users' peer SSL certificates and keys. This can be used by client -# scripts to validate users. For this to work, one of m_ssl_gnutls.so -# or m_ssl_openssl.so must be loaded. This module also adds the +# scripts to validate users. For this to work, one of ssl_gnutls +# or ssl_openssl must be loaded. This module also adds the # "* <user> is using a secure connection" whois line, the ability for -# opers to use SSL fingerprints to verify their identity and the +# opers to use SSL cert fingerprints to verify their identity and the # ability to force opers to use SSL connections in order to oper up. # It is highly recommended to load this module if you use SSL on your # network. # For how to use the oper features, please see the first example <oper> tag # in opers.conf.example. # -#<module name="m_sslinfo.so"> +#<module name="sslinfo"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# mbedTLS SSL module: Adds support for SSL/TLS connections using mbedTLS. +#<module name="ssl_mbedtls"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # OpenSSL SSL module: Adds support for SSL connections using OpenSSL, # if enabled. You must answer 'yes' in ./configure when asked or symlink # the source for this module from the directory src/modules/extra, if # you want to enable this, or it will not load. -#<module name="m_ssl_openssl.so"> +#<module name="ssl_openssl"> # #-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_openssl.so is too complex to describe here, see the wiki: # +# ssl_openssl is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_openssl # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# Strip color module: Adds channel mode +S that strips mIRC color -# codes from all messages sent to the channel. -#<module name="m_stripcolor.so"> +# Strip color module: Adds channel mode +S that strips color codes and +# all control codes except CTCP from all messages sent to the channel. +#<module name="stripcolor"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Silence module: Adds support for the /SILENCE command, which allows # users to have a server-side ignore list for their client. -#<module name="m_silence.so"> +#<module name="silence"> # # Set the maximum number of entries allowed on a user's silence list. -#<silence maxentries="32"> +#<silence maxentries="32" +# +# Whether messages from U-lined servers will bypass silence masks. +#exemptuline="yes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SQLite3 module: Allows other SQL modules to access SQLite3 # @@ -1789,12 +1900,12 @@ # ./configure --enable-extras=m_sqlite.cpp # and run make install, then uncomment this module to enable it. # # -#<module name="m_sqlite3.so"> +#<module name="sqlite3"> # #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # -# m_sqlite.so is more complex than described here, see the wiki for # -# more: http://wiki.inspircd.org/Modules/sqlite3 # +# sqlite is more complex than described here, see the wiki for more # +# info: http://wiki.inspircd.org/Modules/sqlite3 # # #<database module="sqlite" hostname="/full/path/to/database.db" id="anytext"> @@ -1805,11 +1916,11 @@ # ./configure --enable-extras=m_sqlauth.cpp # and run make install, then uncomment this module to enable it. # -#<module name="m_sqlauth.so"> +#<module name="sqlauth"> # #-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_sqlauth.so is too complex to describe here, see the wiki: # +# sqlauth is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/sqlauth # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# @@ -1818,7 +1929,7 @@ # ./configure --enable-extras=m_sqloper.cpp # and run make install, then uncomment this module to enable it. # -#<module name="m_sqloper.so"> +#<module name="sqloper"> # #-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # @@ -1827,18 +1938,18 @@ # # # See also: http://wiki.inspircd.org/Modules/sqloper # # # -#<sqloper dbid="1" hash="md5"> +#<sqloper dbid="1" hash="bcrypt"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # StartTLS module: Implements STARTTLS, which allows clients # # connected to non SSL enabled ports to enable SSL, if a proper SSL # -# module is loaded (either m_ssl_gnutls or m_ssl_openssl). # -#<module name="m_starttls.so"> +# module is loaded (either ssl_gnutls or ssl_openssl). # +#<module name="starttls"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be # # added/removed by Services. # -#<module name="m_svshold.so"> +#<module name="svshold"> # SVSHOLD does not generate server notices by default, you can turn # notices on by uncommenting the next line. #<svshold silent="false"> @@ -1847,29 +1958,23 @@ # SWHOIS module: Allows you to add arbitrary lines to user WHOIS. # This module is oper-only. # To use, SWHOIS must be in one of your oper class blocks. -#<module name="m_swhois.so"> - -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# Test module: Enable this to create a command useful in testing -# flood control. To avoid accidental use on live networks, the server -# name must contain ".test" to load the module -#<module name="m_testnet.so"> +#<module name="swhois"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Timed bans module: Adds timed channel bans with the /TBAN command. -#<module name="m_timedbans.so"> +#<module name="timedbans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Test line module: Adds the /TLINE command, used to test how many # users a /GLINE or /ZLINE etc. would match. # This module is oper-only. # To use, TLINE must be in one of your oper class blocks. -#<module name="m_tline.so"> +#<module name="tline"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Topiclock module: implements server-side topic locking to achieve deeper # integration with services packages. -#<module name="m_topiclock.so"> +#<module name="topiclock"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # UHNAMES support module: Adds support for the IRCX style UHNAMES @@ -1877,23 +1982,23 @@ # each user, saving clients from doing a WHO on the channel. # If a client does not support UHNAMES it will not enable it, this will # not break incompatible clients. -#<module name="m_uhnames.so"> +#<module name="uhnames"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Uninvite module: Adds the /UNINVITE command which lets users remove # pending invites from channels without waiting for the user to join. -#<module name="m_uninvite.so"> +#<module name="uninvite"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Userip module: Adds the /USERIP command. # Allows users to query their own IP, also allows opers to query the IP # of anyone else. -#<module name="m_userip.so"> +#<module name="userip"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Vhost module: Adds the VHOST command which allows for adding virtual # hosts which are accessible using a username and password in the config. -#<module name="m_vhost.so"> +#<module name="vhost"> # #-#-#-#-#-#-#-#-#-#-#- VHOST CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # # @@ -1902,32 +2007,39 @@ # pass - Password for the vhost. # # # # hash - The hash for the specific user (optional) # -# m_password_hash.so and a hashing module must be loaded # -# for this to work. # +# password_hash and a hashing module must be loaded for # +# this to work. # # # # host - Vhost to set. # # -#<vhost user="some_username" pass="some_password" host="some.host"> -#<vhost user="foo" password="fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9" hash="sha256" host="some.other.host"> +#<vhost user="some_username" pass="some_password" host="some.host.test.cc"> +#<vhost user="foo" password="$2a$10$iTuYLT6BRhRlOgzfsW9oPe62etW.oXwSpyKw5rJit64SGZanLXghO" hash="bcrypt" host="some.other.host.example.com"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Watch module: Adds the WATCH command, which is used by clients to # maintain notify lists. -#<module name="m_watch.so"> +#<module name="watch"> # # Set the maximum number of entries on a user's watch list below. #<watch maxentries="32"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# +# WebSocket module: Adds HTML5 WebSocket support. +# Specify hook="websocket" in a <bind> tag to make that port accept +# WebSocket connections. Compatible with SSL/TLS. +# Requires SHA-1 hash support available in the sha1 module. +#<module name="websocket"> + +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # XLine database: Stores all *Lines (G/Z/K/R/any added by other modules) # in a file which is re-loaded on restart. This is useful # for two reasons: it keeps bans so users may not evade them, and on # bigger networks, server connections will take less time as there will # be a lot less bans to apply - as most of them will already be there. -#<module name="m_xline_db.so"> +#<module name="xline_db"> # Specify the filename for the xline database here. -#<xlinedb filename="data/xline.db"> +#<xlinedb filename="xline.db"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # ____ _ _____ _ _ ____ _ _ _ # @@ -1936,8 +2048,8 @@ # | _ < __/ (_| | (_| | | | | | | | \__ \ | |_) | | |_|_| # # |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # # # -# To link servers to InspIRCd, you MUST load the m_spanningtree # -# module. If you don't do this, server links will NOT work at all. # +# To link servers to InspIRCd, you MUST load the spanningtree module. # +# If you don't do this, server links will NOT work at all. # # This is by design, to allow for the implementation of other linking # # protocols in modules in the future. # @@ -1946,4 +2058,4 @@ # tree protocol (see the READ THIS BIT section above). # You will almost always want to load this. # -#<module name="m_spanningtree.so"> +#<module name="spanningtree"> diff --git a/docs/conf/modules/charybdis.conf.example b/docs/conf/modules/charybdis.conf.example index bd99f7dc2..6f8171b41 100644 --- a/docs/conf/modules/charybdis.conf.example +++ b/docs/conf/modules/charybdis.conf.example @@ -1,6 +1,6 @@ -<module name="m_md5.so"> -<module name="m_sha256.so"> -<module name="m_alias.so"> +<module name="md5"> +<module name="sha256"> +<module name="alias"> <alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> <alias text="CHANSERV" replace="PRIVMSG ChanServ :$2-" requires="ChanServ" uline="yes"> <alias text="OPERSERV" replace="PRIVMSG OperServ :$2-" requires="OperServ" uline="yes" operonly="yes"> @@ -15,26 +15,26 @@ <alias text="MS" replace="PRIVMSG MemoServ :$2-" requires="MemoServ" uline="yes"> <alias text="ID" replace="PRIVMSG NickServ :IDENTIFY $2" requires="NickServ" uline="yes"> -<module name="m_banexception.so"> -<module name="m_banredirect.so"> -<module name="m_blockcolor.so"> -<module name="m_callerid.so"> +<module name="banexception"> +<module name="banredirect"> +<module name="blockcolor"> +<module name="callerid"> <callerid maxaccepts="16" operoverride="no" tracknick="no" cooldown="60"> -<module name="m_cap.so"> -<module name="m_cban.so"> +<module name="cap"> +<module name="cban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # CGI:IRC module: Adds support for automatic host changing in CGI:IRC # (http://cgiirc.sourceforge.net). -#<module name="m_cgiirc.so"> +#<module name="cgiirc"> # #-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# # -# Optional - If you specify to use m_cgiirc, then you must specify one +# Optional - If you specify to use cgiirc, then you must specify one # or more cgihost tags which indicate authorised CGI:IRC servers which # will be connecting to your network, and an optional cgiirc tag. # For more information see: http://wiki.inspircd.org/Modules/cgiirc @@ -68,13 +68,13 @@ # sessions maximum. # -<module name="m_chancreate.so"> +<module name="chancreate"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Channel names module: Allows disabling channels which have certain # characters in the channel name such as bold, colorcodes, etc. which # can be quite annoying and allow users to on occasion have a channel # that looks like the name of another channel on the network. -<module name="m_channames.so"> +<module name="channames"> <channames # denyrange: characters or range of characters to deny in channel @@ -85,16 +85,16 @@ # in channel names. allowrange=""> -<module name="m_channelban.so"> -<module name="m_chghost.so"> +<module name="channelban"> +<module name="chghost"> <hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789"> -<module name="m_chgident.so"> -<module name="m_chgname.so"> -<module name="m_cloaking.so"> +<module name="chgident"> +<module name="chgname"> +<module name="cloaking"> # #-#-#-#-#-#-#-#-#-#-#- CLOAKING CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# If you specify the m_cloaking.so module as above, you must define # +# If you specify the cloaking module as above, you must define # # cloak keys, and optionally a cloak prefix as shown below. The cloak # # keys must be shared across the network for correct cloaking. # # # @@ -126,8 +126,8 @@ key="secret" prefix="net-"> -<module name="m_close.so"> -<module name="m_conn_umodes.so"> +<module name="close"> +<module name="conn_umodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Connectban: Provides IP connection throttling. Any IP range that connects @@ -141,11 +141,11 @@ #<connectban threshold="10" duration="10m" ipv4cidr="32" ipv6cidr="128"> # This allows for 10 connections in an hour with a 10 minute ban if that is exceeded. # -#<module name="m_connectban.so"> +#<module name="connectban"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Connection throttle module. -#<module name="m_connflood.so"> +#<module name="connflood"> # #-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # seconds, maxconns - Amount of connections per <seconds>. @@ -163,46 +163,46 @@ #<connflood seconds="30" maxconns="3" timeout="30" # quitmsg="Throttled" bootwait="10"> -<module name="m_deaf.so"> -<module name="m_dnsbl.so"> -<module name="m_gecosban.so"> -<module name="m_globalload.so"> -<module name="m_ident.so"> +<module name="deaf"> +<module name="dnsbl"> +<module name="gecosban"> +<module name="globalload"> +<module name="ident"> <ident timeout="1"> -<module name="m_inviteexception.so"> -<module name="m_joinflood.so"> -<module name="m_knock.so"> -<module name="m_namesx.so"> -<module name="m_operchans.so"> -<module name="m_operlog.so"> -<module name="m_opermodes.so"> -<module name="m_password_hash.so"> -<module name="m_permchannels.so"> -<module name="m_muteban.so"> -<module name="m_redirect.so"> +<module name="inviteexception"> +<module name="joinflood"> +<module name="knock"> +<module name="namesx"> +<module name="operchans"> +<module name="operlog"> +<module name="opermodes"> +<module name="password_hash"> +<module name="permchannels"> +<module name="muteban"> +<module name="redirect"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +# You must have at least 1 provider loaded to use the filter or the +# rline modules. This module has no additional requirements, as it uses +# the matching already present in InspIRCd core. +#<module name="regex_glob"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +# module. You must have at least 1 provider loaded to use the filter or +# the rline module. +#<module name="regex_pcre"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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. +# 1 provider loaded to use the filter or the rline module. # On POSIX-compliant systems, regex syntax can be found by using the # command: 'man 7 regex'. -#<module name="m_regex_posix.so"> +#<module name="regex_posix"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Registered users only channel creation @@ -210,11 +210,11 @@ # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_regonlycreate.so"> +#<module name="regonlycreate"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Ban users through regular expression patterns -#<module name="m_rline.so"> +#<module name="rline"> # #-#-#-#-#-#-#-#-#-#-#-#- RLINE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-#-# # @@ -224,7 +224,7 @@ # 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 +# regex_<engine> 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"> @@ -237,66 +237,66 @@ # use glob. For this reason, is recommended to use a real regex engine # so that at least \s or [[:space:]] is available. -<module name="m_sasl.so"> -<module name="m_servprotect.so"> -<module name="m_services_account.so"> -<module name="m_sethost.so"> -<module name="m_serverban.so"> -<module name="m_showwhois.so"> +<module name="sasl"> +<module name="servprotect"> +<module name="services_account"> +<module name="sethost"> +<module name="serverban"> +<module name="showwhois"> <showwhois opersonly="yes" showfromopers="yes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -# SSL channel mode module: Adds support for SSL-only channels via -# channel mode +z and the 'z' extban which matches SSL client +# SSL channel mode module: Adds support for SSL-only channels via +# channel mode +z and the 'z' extban which matches SSL client # certificate fingerprints. # Does not do anything useful without a working SSL module (see below). -#<module name="m_sslmodes.so"> +#<module name="sslmodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # GnuTLS SSL module: Adds support for SSL connections using GnuTLS, # if enabled. You must answer 'yes' in ./configure when asked or # manually symlink the source for this module from the directory # src/modules/extra, if you want to enable this, or it will not load. -#<module name="m_ssl_gnutls.so"> +#<module name="ssl_gnutls"> # #-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_gnutls.so is too complex to describe here, see the wiki: # +# ssl_gnutls is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_gnutls # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # SSL Info module: Allows users to retrieve information about other # user's peer SSL certificates and keys. This can be used by client -# scripts to validate users. For this to work, one of m_ssl_gnutls.so -# or m_ssl_openssl.so must be loaded. This module also adds the +# scripts to validate users. For this to work, one of ssl_gnutls +# or ssl_openssl must be loaded. This module also adds the # "* <user> is using a secure connection" whois line, the ability for -# opers to use SSL fingerprints to verify their identity and the ability -# to force opers to use SSL connections in order to oper up. +# opers to use SSL cert fingerprints to verify their identity and the +# ability to force opers to use SSL connections in order to oper up. # It is highly recommended to load this module especially if # you use SSL on your network. # For how to use the oper features, please see the first example <oper> tag # in opers.conf.example. # -#<module name="m_sslinfo.so"> +#<module name="sslinfo"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # OpenSSL SSL module: Adds support for SSL connections using OpenSSL, # if enabled. You must answer 'yes' in ./configure when asked or symlink # the source for this module from the directory src/modules/extra, if # you want to enable this, or it will not load. -#<module name="m_ssl_openssl.so"> +#<module name="ssl_openssl"> # #-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_openssl.so is too complex to describe here, see the wiki: # +# ssl_openssl is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_openssl # -<module name="m_stripcolor.so"> -<module name="m_svshold.so"> -<module name="m_tline.so"> -<module name="m_uhnames.so"> -<module name="m_watch.so"> +<module name="stripcolor"> +<module name="svshold"> +<module name="tline"> +<module name="uhnames"> +<module name="watch"> <watch maxentries="32"> -<module name="m_xline_db.so"> +<module name="xline_db"> -<module name="m_spanningtree.so"> +<module name="spanningtree"> diff --git a/docs/conf/modules/unrealircd.conf.example b/docs/conf/modules/unrealircd.conf.example index 1ed7b33b2..102307661 100644 --- a/docs/conf/modules/unrealircd.conf.example +++ b/docs/conf/modules/unrealircd.conf.example @@ -1,8 +1,8 @@ -<module name="m_md5.so"> -<module name="m_sha256.so"> +<module name="md5"> +<module name="sha256"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Alias module: Allows you to define server-side command aliases. -<module name="m_alias.so"> +<module name="alias"> <fantasy prefix="!" allowbots="no"> # Aliases <alias text="NICKSERV" replace="PRIVMSG NickServ :$2-" requires="NickServ" uline="yes"> @@ -35,28 +35,28 @@ #<alias text="NICKSERV" format=":IDENTIFY *" replace="PRIVMSG NickServ :IDENTIFY $3-" # requires="NickServ" uline="yes"> -<module name="m_allowinvite.so"> -<module name="m_alltime.so"> -<module name="m_auditorium.so"> +<module name="allowinvite"> +<module name="alltime"> +<module name="auditorium"> <auditorium showops="yes" operoverride="yes"> -<module name="m_banexception.so"> -<module name="m_blockcaps.so"> +<module name="banexception"> +<module name="blockcaps"> <blockcaps percent="50" minlen="5" capsmap="ABCDEFGHIJKLMNOPQRSTUVWXYZ! "> -<module name="m_blockcolor.so"> -<module name="m_botmode.so"> -<module name="m_censor.so"> +<module name="blockcolor"> +<module name="botmode"> +<module name="censor"> <include file="inspircd.censor.example"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # CGI:IRC module: Adds support for automatic host changing in CGI:IRC # (http://cgiirc.sourceforge.net). -#<module name="m_cgiirc.so"> +#<module name="cgiirc"> # #-#-#-#-#-#-#-#-#-#-#-# CGIIRC CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-# # -# Optional - If you specify to use m_cgiirc, then you must specify one +# Optional - If you specify to use cgiirc, then you must specify one # or more cgihost tags which indicate authorised CGI:IRC servers which # will be connecting to your network, and an optional cgiirc tag. # For more information see: http://wiki.inspircd.org/Modules/cgiirc @@ -90,42 +90,41 @@ # sessions maximum. # -<module name="m_chanfilter.so"> +<module name="chanfilter"> <chanfilter hidemask="yes"> -<module name="m_check.so"> -<module name="m_chghost.so"> +<module name="check"> +<module name="chghost"> <hostname charmap="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789"> -<module name="m_chgident.so"> -<module name="m_chgname.so"> -<module name="m_cloaking.so"> +<module name="chgident"> +<module name="chgname"> +<module name="cloaking"> <cloak mode="half" key="secret" prefix="net-"> -<module name="m_close.so"> -<module name="m_clones.so"> -<module name="m_commonchans.so"> +<module name="close"> +<module name="clones"> +<module name="commonchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Auto join on connect module: Allows you to force users to join one # or more channels automatically upon connecting to the server. -#<module name="m_conn_join.so"> +#<module name="conn_join"> # #-#-#-#-#-#-#-#-#-#-#-#- CONNJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # -# If you have m_conn_join.so loaded, you can configure it using the -# follow values: +# If you have the conn_join module loaded, you can configure it below: # #<autojoin channel="#one,#two,#three"> -<module name="m_conn_umodes.so"> -<module name="m_cycle.so"> +<module name="conn_umodes"> +<module name="cycle"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Connection throttle module. -#<module name="m_connflood.so"> +#<module name="connflood"> # #-#-#-#-#-#-#-#-#-#-#- CONTHROTTLE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # seconds, maxconns - Amount of connections per <seconds>. @@ -145,7 +144,7 @@ #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # DCCALLOW module: Adds the /DCCALLOW command. -<module name="m_dccallow.so"> +<module name="dccallow"> # #-#-#-#-#-#-#-#-#-#-#- DCCALLOW CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # blockchat - Whether to block DCC CHAT as well as DCC SEND @@ -164,30 +163,32 @@ # #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# -<module name="m_deaf.so"> -<module name="m_denychans.so"> +<module name="deaf"> +<module name="denychans"> #<badchan name="#gods*" allowopers="yes" reason="Tortoises!"> # #<badchan name="#heaven" redirect="#hell" reason="Nice try!"> # -<module name="m_devoice.so"> +<module name="devoice"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Filter module: Provides message filtering, similar to SPAMFILTER. -<module name="m_filter.so"> +<module name="filter"> # # -# This module depends upon a regex provider such as m_regex_pcre or # -# m_regex_glob to function. You must specify which of these you want # -# m_filter to use via the tag below. # +# This module depends upon a regex provider such as regex_pcre or # +# regex_glob to function. You must specify which of these you want # +# the filter module to use via the tag below. # # # # Valid engines are: # # # -# glob - Glob patterns, provided via m_regex_glob.so # -# pcre - PCRE regexps, provided via m_regex_pcre.so, needs libpcre # -# tre - TRE regexps, provided via m_regex_tre.so, requires libtre # -# posix - POSIX regexps, provided via m_regex_posix.so, not availale # -# on windows, no dependencies on other operating systems. # +# glob - Glob patterns, provided via regex_glob. # +# pcre - PCRE regexps, provided via regex_pcre, needs libpcre. # +# tre - TRE regexps, provided via regex_tre, requires libtre. # +# posix - POSIX regexps, provided via regex_posix, not available # +# on Windows, no dependencies on other operating systems. # +# stdlib - stdlib regexps, provided via regex_stdlib, see comment # +# at the <module> tag for info on availability. # # # -<filteropts engine="glob"> +<filteropts engine="glob"> # # # Your choice of regex engine must match on all servers network-wide. # @@ -197,47 +198,48 @@ # #-#-#-#-#-#-#-#-#-#-#- FILTER CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# Optional - If you specify to use the m_filter module, then # +# Optional - If you specify to use the filter module, then # # specfiy below the path to the filter.conf file, or define some # # <filter> tags. # # # #<include file="filter.conf"> -<module name="m_gecosban.so"> -<module name="m_globops.so"> -<module name="m_globalload.so"> -<module name="m_halfop.so"> -<module name="m_helpop.so"> +<module name="gecosban"> +<module name="globops"> +<module name="globalload"> +<module name="halfop"> +<module name="helpop"> <include file="inspircd.helpop-full.example"> -<module name="m_hidechans.so"> +<module name="hidechans"> <hidechans affectsopers="false"> -<module name="m_hideoper.so"> -<module name="m_ident.so"> +<module name="hideoper"> +<module name="ident"> <ident timeout="1"> -<module name="m_inviteexception.so"> -<module name="m_joinflood.so"> -<module name="m_jumpserver.so"> -<module name="m_knock.so"> -<module name="m_messageflood.so"> -<module name="m_namesx.so"> -<module name="m_nickflood.so"> -<module name="m_noctcp.so"> -<module name="m_nokicks.so"> -<module name="m_nonicks.so"> -<module name="m_nopartmsg.so"> -<module name="m_nonotice.so"> -<module name="m_operchans.so"> +<module name="inviteexception"> +<module name="joinflood"> +<module name="jumpserver"> +<module name="knock"> +<module name="messageflood"> +<module name="namesx"> +<module name="nickflood"> +<module name="noctcp"> +<module name="nokicks"> +<module name="nonicks"> +<module name="nopartmsg"> +<module name="nonotice"> +<module name="operchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Oper join module: Auto-joins opers to a channel upon oper-up. -# This module is oper-only. For the user equivalent, see m_conn_join. -<module name="m_operjoin.so"> +# This module is oper-only. For the user equivalent, see the conn_join +# module. +<module name="operjoin"> # #-#-#-#-#-#-#-#-#-#-# OPERJOIN CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you are using the m_operjoin.so module, specify options here: # +# If you are using the operjoin module, specify options here: # # # # channel - The channel name to join, can also be a comma # # separated list eg. "#channel1,#channel2". # @@ -252,52 +254,52 @@ # #<type name="Helper" autojoin="#help" classes="..."> -<module name="m_operlog.so"> +<module name="operlog"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Oper MOTD module: Provides support for separate message of the day # on oper-up. # This module is oper-only. -#<module name="m_opermotd.so"> +#<module name="opermotd"> # #-#-#-#-#-#-#-#-#-#-# OPERMOTD CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# If you are using the m_opermotd.so module, specify the motd here # +# If you are using the opermotd module, specify the motd here # # # # onoper - If on, the message is sent on /OPER, otherwise it's # # only sent when /OPERMOTD is used. # # # #<opermotd file="oper.motd" onoper="yes"> -<module name="m_override.so"> +<module name="override"> #-#-#-#-#-#-#-#-#-#-# OVERRIDE CONFIGURATION -#-#-#-#-#-#-#-#-#-#-# # # -# m_override.so is too complex to describe here, see the wiki: # +# The override module is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/override # -<module name="m_operlevels.so"> -<module name="m_opermodes.so"> -<module name="m_password_hash.so"> -<module name="m_muteban.so"> +<module name="operlevels"> +<module name="opermodes"> +<module name="password_hash"> +<module name="muteban"> -<module name="m_redirect.so"> -<module name="m_regex_glob.so"> +<module name="redirect"> +<module name="regex_glob"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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"> +# module. You must have at least 1 provider loaded to use the filter +# or the rline module. +#<module name="regex_pcre"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # 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. +# 1 provider loaded to use the filter or rline module. # On POSIX-compliant systems, regex syntax can be found by using the # command: 'man 7 regex'. -#<module name="m_regex_posix.so"> +#<module name="regex_posix"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Regular expression provider for TRE Regular Expressions. @@ -305,7 +307,7 @@ # 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"> +#<module name="regex_tre"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Registered users only channel creation module. If enabled, only @@ -313,77 +315,77 @@ # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_regonlycreate.so"> +#<module name="regonlycreate"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Restricted channels module: Allows only opers to create channels. # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_restrictchans.so"> +#<module name="restrictchans"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Restrict message module: Allows users to only message opers. # # You probably *DO NOT* want to load this module on a public network. # -#<module name="m_restrictmsg.so"> - -<module name="m_sajoin.so"> -<module name="m_sakick.so"> -<module name="m_samode.so"> -<module name="m_sanick.so"> -<module name="m_sapart.so"> -<module name="m_saquit.so"> -<module name="m_satopic.so"> -<module name="m_servprotect.so"> -<module name="m_seenicks.so"> -<module name="m_setidle.so"> -<module name="m_services_account.so"> -<module name="m_sethost.so"> -<module name="m_setident.so"> -<module name="m_setname.so"> -<module name="m_showwhois.so"> +#<module name="restrictmsg"> + +<module name="sajoin"> +<module name="sakick"> +<module name="samode"> +<module name="sanick"> +<module name="sapart"> +<module name="saquit"> +<module name="satopic"> +<module name="servprotect"> +<module name="seenicks"> +<module name="setidle"> +<module name="services_account"> +<module name="sethost"> +<module name="setident"> +<module name="setname"> +<module name="showwhois"> <showwhois opersonly="yes" showfromopers="yes"> -<module name="m_shun.so"> +<module name="shun"> <shun enabledcommands="PING PONG QUIT PART JOIN" notifyuser="no" affectopers="no"> -<module name="m_sslmodes.so"> +<module name="sslmodes"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # GnuTLS SSL module: Adds support for SSL connections using GnuTLS, # if enabled. You must answer 'yes' in ./configure when asked or symlink # the source for this module from the directory src/modules/extra, if -# you want to enable this, or it will not load. -#<module name="m_ssl_gnutls.so"> +# you want to enable this, or it will not load. +#<module name="ssl_gnutls"> # #-#-#-#-#-#-#-#-#-#-#- GNUTLS CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_gnutls.so is too complex to describe here, see the wiki: # +# ssl_gnutls is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_gnutls # -<module name="m_sslinfo.so"> +<module name="sslinfo"> #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # OpenSSL SSL module: Adds support for SSL connections using OpenSSL, # if enabled. You must answer 'yes' in ./configure when asked or symlink # the source for this module from the directory src/modules/extra, if # you want to enable this, or it will not load. -#<module name="m_ssl_openssl.so"> +#<module name="ssl_openssl"> # #-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#-# # # -# m_ssl_openssl.so is too complex to describe here, see the wiki: # +# ssl_openssl is too complex to describe here, see the wiki: # # http://wiki.inspircd.org/Modules/ssl_openssl # -<module name="m_stripcolor.so"> -<module name="m_svshold.so"> -<module name="m_swhois.so"> -<module name="m_tline.so"> -<module name="m_uhnames.so"> -<module name="m_userip.so"> -<module name="m_watch.so"> +<module name="stripcolor"> +<module name="svshold"> +<module name="swhois"> +<module name="tline"> +<module name="uhnames"> +<module name="userip"> +<module name="watch"> <watch maxentries="32"> -<module name="m_spanningtree.so"> +<module name="spanningtree"> diff --git a/docs/conf/motd.txt.example b/docs/conf/motd.txt.example index 66fddd344..04f7b11b2 100644 --- a/docs/conf/motd.txt.example +++ b/docs/conf/motd.txt.example @@ -10,11 +10,11 @@ Putting the ricer in IRCer since 2007 - //\ + //\ V \ WELCOME TO AN INSPIRCD NETWORK \ \_ If you see this, I am probably new. \,'.`-. If I'm not new, my owner is lazy. - |\ `. `. + |\ `. `. ( \ `. `-. _,.-:\ \ \ `. `-._ __..--' ,-';/ \ `. `-. `-..___..---' _.--' ,'/ @@ -23,7 +23,7 @@ `-_ `-.___ __,--' ,' `-.__ `----""" __.-' `--..____..--' - + ---- To change, see motd.txt.example ----- / \ / * Web: http://www.inspircd.org \ diff --git a/docs/conf/opermotd.txt.example b/docs/conf/opermotd.txt.example index 110cba8e4..0ac4cfea1 100644 --- a/docs/conf/opermotd.txt.example +++ b/docs/conf/opermotd.txt.example @@ -10,11 +10,11 @@ Putting the ricer in IRCer since 2007 - //\ + //\ V \ WELCOME TO AN INSPIRCD NETWORK \ \_ If you see this, I am probably new. \,'.`-. If I'm not new, my owner is lazy. - |\ `. `. + |\ `. `. ( \ `. `-. _,.-:\ \ \ `. `-._ __..--' ,-';/ \ `. `-. `-..___..---' _.--' ,'/ @@ -23,7 +23,7 @@ `-_ `-.___ __,--' ,' `-.__ `----""" __.-' `--..____..--' - + -- To change, see opermotd.txt.example --- / \ / * Web: http://www.inspircd.org \ diff --git a/docs/conf/opers.conf.example b/docs/conf/opers.conf.example index eef8039cb..5e1ec28f5 100644 --- a/docs/conf/opers.conf.example +++ b/docs/conf/opers.conf.example @@ -15,7 +15,7 @@ name="Shutdown" # commands: Oper-only commands that opers of this class can run. - commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOADMODULE GUNLOADMODULE GRELOADMODULE" + commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOADMODULE GLOADMODULE GUNLOADMODULE GRELOADMODULE" # privs: Special privileges that users with this class may utilise. # VIEWING: @@ -39,11 +39,11 @@ # chanmodes: Oper-only channel modes that opers with this class can use. chanmodes="*"> -<class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE"> +<class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE OJOIN"> <class name="ServerLink" commands="CONNECT SQUIT RCONNECT RSQUIT MKPASSWD ALLTIME SWHOIS JUMPSERVER LOCKSERV UNLOCKSERV" usermodes="*" chanmodes="*" privs="servers/auspex"> <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE TLINE RLINE CHECK NICKLOCK NICKUNLOCK SHUN CLONES CBAN CLOSE" usermodes="*" chanmodes="*"> <class name="OperChat" commands="WALLOPS GLOBOPS" usermodes="*" chanmodes="*" privs="users/mass-message"> -<class name="HostCloak" commands="SETHOST SETIDENT CHGNAME CHGHOST CHGIDENT SETIDLE" usermodes="*" chanmodes="*" privs="users/auspex"> +<class name="HostCloak" commands="SETHOST SETIDENT SETIDLE CHGNAME CHGHOST CHGIDENT" usermodes="*" chanmodes="*" privs="users/auspex"> #-#-#-#-#-#-#-#-#-#-#-#- OPERATOR COMPOSITION -#-#-#-#-#-#-#-#-#-#-# @@ -68,7 +68,7 @@ # modes: User modes besides +o that are set on an oper of this type # when they oper up. Used for snomasks and other things. - # Requires that m_opermodes.so be loaded. + # Requires the opermodes module be loaded. modes="+s +cCqQ"> <type name="GlobalOp" classes="SACommands OperChat BanControl HostCloak ServerLink" vhost="ircop.omega.example.org"> @@ -97,26 +97,26 @@ host="attila@inspircd.org *@2001:db8::/32" # ** ADVANCED ** This option is disabled by default. - # fingerprint: When using the m_sslinfo module, you may specify + # fingerprint: When using the sslinfo module, you may specify # a key fingerprint here. This can be obtained by using the /sslinfo # command while the module is loaded, and is also noticed on connect. # This enhances security by verifying that the person opering up has # a matching SSL client certificate, which is very difficult to # forge (impossible unless preimage attacks on the hash exist). - # If m_sslinfo isn't loaded, this option will be ignored. + # If the sslinfo module isn't loaded, this option will be ignored. #fingerprint="67cb9dc013248a829bb2171ed11becd4" - # autologin: If an SSL fingerprint for this oper is specified, you can - # have the oper block automatically log in. This moves all security of the - # oper block to the protection of the client certificate, so be sure that - # the private key is well-protected! Requires m_sslinfo. + # autologin: If an SSL certificate fingerprint for this oper is specified, + # you can have the oper block automatically log in. This moves all security + # of the oper block to the protection of the client certificate, so be sure + # that the private key is well-protected! Requires the sslinfo module. #autologin="on" # sslonly: If on, this oper can only oper up if they're using a SSL connection. # Setting this option adds a decent bit of security. Highly recommended # if the oper is on wifi, or specifically, unsecured wifi. Note that it # is redundant to specify this option if you specify a fingerprint. - # This setting only takes effect if m_sslinfo is loaded. + # This setting only takes effect if the sslinfo module is loaded. #sslonly="yes" # vhost: Overrides the vhost in the type block. Class and modes may also @@ -130,8 +130,8 @@ # Operator with a plaintext password and no comments, for easy copy & paste. <oper name="Brain" - password="s3cret" - host="brain@dialup15.isp.com *@localhost *@example.com *@2001:db8::/32" + password="youshouldhashthis" + host="brain@dialup15.isp.test.com *@localhost *@example.com *@2001:db8::/32" #fingerprint="67cb9dc013248a829bb2171ed11becd4" type="NetAdmin"> @@ -141,18 +141,18 @@ # Remember: This is case sensitive. name="Adam" - # hash: What hash this password is hashed with. - # Requires the module for selected hash (m_md5.so, m_sha256.so - # or m_ripemd160.so) be loaded and the password hashing module - # (m_password_hash.so) loaded. - # Options here are: "md5", "sha256" and "ripemd160", or one of - # these prefixed with "hmac-", e.g.: "hmac-sha256". + # hash: the hash function this password is hashed with. Requires the + # module for the selected function (bcrypt, md5, sha1, sha256, or + # ripemd160) and the password hashing module (password_hash) to be + # loaded. + # You may also use any of the above other than bcrypt prefixed with + # either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module). # Create hashed passwords with: /mkpasswd <hash> <password> - hash="hmac-sha256" + hash="bcrypt" # password: A hash of the password (see above option) hashed - # with /mkpasswd <hash> <password>. See m_password_hash in modules.conf - # for more information about password hashing. + # with /mkpasswd <hash> <password>. See the password_hash module + # in modules.conf for more information about password hashing. password="qQmv3LcF$Qh63wzmtUqWp9OXnLwe7yv1GcBwHpq59k2a0UrY8xe0" # host: What hostnames and IPs are allowed to use this operator account. diff --git a/docs/conf/services/anope.conf.example b/docs/conf/services/anope.conf.example new file mode 100644 index 000000000..603bb538d --- /dev/null +++ b/docs/conf/services/anope.conf.example @@ -0,0 +1,9 @@ +# This file contains aliases and nickname reservations which are used +# by Anope. See https://www.anope.org/ for more information on Anope. + +# This file inherits from the generic config to avoid repetition. +<include file="examples/services/generic.conf.example"> + +# /GLOBAL <message> +# Sends a global notice. +<alias text="GLOBAL" format="*" replace="PRIVMSG $requirement :GLOBAL $2-" requires="Global" uline="yes" operonly="yes"> diff --git a/docs/conf/services/atheme.conf.example b/docs/conf/services/atheme.conf.example new file mode 100644 index 000000000..037087998 --- /dev/null +++ b/docs/conf/services/atheme.conf.example @@ -0,0 +1,52 @@ +# This file contains aliases and nickname reservations which are used +# by Atheme. See http://atheme.net for more information on Atheme. + +# This file inherits from the generic config to avoid repetition. +<include file="examples/services/generic.conf.example"> + +# Long hand aliases for services pseudoclients. +<alias text="ALIS" replace="PRIVMSG $requirement :$2-" requires="ALIS" uline="yes"> +<alias text="CHANFIX" replace="PRIVMSG $requirement :$2-" requires="ChanFix" uline="yes"> +<alias text="GAMESERV" replace="PRIVMSG $requirement :$2-" requires="GameServ" uline="yes"> +<alias text="GLOBAL" replace="PRIVMSG $requirement :$2-" requires="Global" uline="yes" operonly="yes"> +<alias text="GROUPSERV" replace="PRIVMSG $requirement :$2-" requires="GroupServ" uline="yes"> +<alias text="HELPSERV" replace="PRIVMSG $requirement :$2-" requires="HelpServ" uline="yes"> +<alias text="INFOSERV" replace="PRIVMSG $requirement :$2-" requires="InfoServ" uline="yes"> +<alias text="PROXYSCAN" replace="PRIVMSG $requirement :$2-" requires="Proxyscan" uline="yes" operonly="yes"> +<alias text="RPGSERV" replace="PRIVMSG $requirement :$2-" requires="RPGServ" uline="yes"> + +# Short hand aliases for services pseudoclients. +<alias text="CF" replace="PRIVMSG $requirement :$2-" requires="ChanFix" uline="yes"> +<alias text="GL" replace="PRIVMSG $requirement :$2-" requires="Global" uline="yes" operonly="yes"> +<alias text="GS" replace="PRIVMSG $requirement :$2-" requires="GroupServ" uline="yes"> +<alias text="IS" replace="PRIVMSG $requirement :$2-" requires="InfoServ" uline="yes"> +<alias text="LS" replace="PRIVMSG $requirement :$2-" requires="ALIS" uline="yes"> +<alias text="PS" replace="PRIVMSG $requirement :$2-" requires="Proxyscan" uline="yes" operonly="yes"> +<alias text="RS" replace="PRIVMSG $requirement :$2-" requires="RPGServ" uline="yes"> + +# These short hand aliases conflict with other pseudoclients. You can enable +# them but you will need to comment out the uncommented ones above first, +#<alias text="GS" replace="PRIVMSG $requirement :$2-" requires="GameServ" uline="yes"> +#<alias text="HS" replace="PRIVMSG $requirement :$2-" requires="HelpServ" uline="yes"> + +# Prevent clients from using the nicknames of services pseudoclients. +<badnick nick="ALIS" reason="Reserved for a network service"> +<badnick nick="ChanFix" reason="Reserved for a network service"> +<badnick nick="GameServ" reason="Reserved for a network service"> +<badnick nick="GroupServ" reason="Reserved for a network service"> +<badnick nick="HelpServ" reason="Reserved for a network service"> +<badnick nick="InfoServ" reason="Reserved for a network service"> +<badnick nick="Proxyscan" reason="Reserved for a network service"> +<badnick nick="RPGServ" reason="Reserved for a network service"> +<badnick nick="SaslServ" reason="Reserved for a network service"> + +# Exempt services pseudoclients from filters. +<exemptfromfilter target="ALIS"> +<exemptfromfilter target="ChanFix"> +<exemptfromfilter target="GameServ"> +<exemptfromfilter target="GroupServ"> +<exemptfromfilter target="HelpServ"> +<exemptfromfilter target="InfoServ"> +<exemptfromfilter target="Proxyscan"> +<exemptfromfilter target="RPGServ"> +<exemptfromfilter target="SaslServ"> diff --git a/docs/conf/services/generic.conf.example b/docs/conf/services/generic.conf.example new file mode 100644 index 000000000..6904d31d8 --- /dev/null +++ b/docs/conf/services/generic.conf.example @@ -0,0 +1,45 @@ +# This file contains aliases and nickname reservations which are used +# by all common services implementations. + +# Long hand aliases for services pseudoclients. +<alias text="BOTSERV" replace="PRIVMSG $requirement :$2-" requires="BotServ" uline="yes"> +<alias text="CHANSERV" replace="PRIVMSG $requirement :$2-" requires="ChanServ" uline="yes"> +<alias text="HOSTSERV" replace="PRIVMSG $requirement :$2-" requires="HostServ" uline="yes"> +<alias text="MEMOSERV" replace="PRIVMSG $requirement :$2-" requires="MemoServ" uline="yes"> +<alias text="NICKSERV" replace="PRIVMSG $requirement :$2-" requires="NickServ" uline="yes"> +<alias text="OPERSERV" replace="PRIVMSG $requirement :$2-" requires="OperServ" uline="yes" operonly="yes"> +<alias text="STATSERV" replace="PRIVMSG $requirement :$2-" requires="StatServ" uline="yes"> + +# Short hand aliases for services pseudoclients. +<alias text="BS" replace="PRIVMSG $requirement :$2-" requires="BotServ" uline="yes"> +<alias text="CS" replace="PRIVMSG $requirement :$2-" requires="ChanServ" uline="yes"> +<alias text="HS" replace="PRIVMSG $requirement :$2-" requires="HostServ" uline="yes"> +<alias text="MS" replace="PRIVMSG $requirement :$2-" requires="MemoServ" uline="yes"> +<alias text="NS" replace="PRIVMSG $requirement :$2-" requires="NickServ" uline="yes"> +<alias text="OS" replace="PRIVMSG $requirement :$2-" requires="OperServ" uline="yes" operonly="yes"> +<alias text="SS" replace="PRIVMSG $requirement :$2-" requires="StatServ" uline="yes"> + +# /ID [account] <password> +# Identifies to a services account. +<alias text="ID" format="*" replace="PRIVMSG $requirement :IDENTIFY $2-" requires="NickServ" uline="yes"> +<alias text="IDENTIFY" format="*" replace="PRIVMSG $requirement :IDENTIFY $2-" requires="NickServ" uline="yes"> + +# Prevent clients from using the nicknames of services pseudoclients. +<badnick nick="BotServ" reason="Reserved for a network service"> +<badnick nick="ChanServ" reason="Reserved for a network service"> +<badnick nick="Global" reason="Reserved for a network service"> +<badnick nick="HostServ" reason="Reserved for a network service"> +<badnick nick="MemoServ" reason="Reserved for a network service"> +<badnick nick="NickServ" reason="Reserved for a network service"> +<badnick nick="OperServ" reason="Reserved for a network service"> +<badnick nick="StatServ" reason="Reserved for a network service"> + +# Exempt services pseudoclients from filters. +<exemptfromfilter target="BotServ"> +<exemptfromfilter target="ChanServ"> +<exemptfromfilter target="Global"> +<exemptfromfilter target="HostServ"> +<exemptfromfilter target="MemoServ"> +<exemptfromfilter target="NickServ"> +<exemptfromfilter target="OperServ"> +<exemptfromfilter target="StatServ"> |