]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Merge branch 'insp20' into insp3.
authorPeter Powell <petpow@saberuk.com>
Wed, 1 May 2019 14:25:23 +0000 (15:25 +0100)
committerPeter Powell <petpow@saberuk.com>
Wed, 1 May 2019 23:49:01 +0000 (00:49 +0100)
1  2 
README.md
docs/conf/inspircd.conf.example
docs/conf/links.conf.example
docs/conf/modules.conf.example
make/template/main.mk
src/modules/extra/README
src/modules/m_spanningtree/main.h

diff --cc README.md
index fd0ba2b00f28b2c4ad8316d31965c54429d783f4,e6b2d7fa099bedd94d38228a000851b43a87af7e..4733e0fdeadf3b3589e5518d76e77ef8bf7f3271
+++ b/README.md
@@@ -20,12 -20,9 +20,12 @@@ If you encounter any bugs then [please 
  
  ## Installation
  
- Most InspIRCd users running a UNIX-like system build from source. A guide about how to do this is available on [the InspIRCd wiki](https://wiki.inspircd.org/Installation_From_Source).
 -Most InspIRCd users running a UNIX-like system build from source. A guide about how to do this is available on [the InspIRCd docs site](http://docs.inspircd.org/2/installation/source).
++Most InspIRCd users running a UNIX-like system build from source. A guide about how to do this is available on [the InspIRCd docs site](https://docs.inspircd.org/3/installation/source).
  
 -Building from source on Windows is generally not recommended but [a guide is available](https://github.com/inspircd/inspircd/blob/insp20/win/README.txt) if you wish to do this.
 +Building from source on Windows is generally not recommended but [a guide is available](https://github.com/inspircd/inspircd/blob/master/win/README.txt) if you wish to do this.
 +
 +<!--
 +TODO: uncomment this once we have binary packages for v3.
  
  If you are running on CentOS 7, Debian 7, or Windows binary packages are available from [the downloads page](https://github.com/inspircd/inspircd/releases/latest).
  
index 3e9c47da215b3077a3fe2e73372acb51810b4c8a,d54cdc916923854e1b18b2357a8ca3bebfffc12c..18b9cd366f6298400a6fb365e53f0eb4da3edb65
        # to this bind section.
        type="clients"
  
 -      # ssl: If you want the port(s) in this bind tag to use SSL, set this
 -      # to either "gnutls" or "openssl". The appropriate SSL module must be
 -      # loaded for SSL to work. If you do not want the port(s) in this bind
 -      # tag 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.
++      # docs 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
 +      # the daemon from the operating system before data is ready.
 +      # In Linux, the value indicates the time period we'll wait for a
 +      # connection to come up with data. Don't set it too low!
 +      # In BSD the value is ignored; only zero and non-zero is possible.
 +      # Windows ignores this parameter completely.
 +      # Note: This does not take effect on rehash.
 +      # 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">
  
 -<bind address="" port="7000,7001" type="servers">
 -<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
 +# EXPERIMENTAL: Listener that binds on a UNIX endpoint instead of a TCP/IP endpoint:
 +#<bind path="/tmp/inspircd.sock" type="clients">
  
- # for this listener. See the wiki page for the SSL module you are using for
 +# You can define a custom <sslprofile> tag which defines the SSL configuration
++# for this listener. See the docs 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.
  
 -#-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
 -#                                                                     #
 -#   You can configure the passwords here which you wish to use for    #
 -#   the /DIE and /RESTART commands. Only trusted ircops 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.
 -       #
 -       # IMPORTANT: leaving this field empty does not disable the use of
 -       # the DIE command. In order to prevent the use of this command you
 -       # should remove it from the command privileges of your opers.
 -       diepass=""
 -
 -       # restartpass: Password for opers to use if they need to restart
 -       # a server.
 -       #
 -       # IMPORTANT: leaving this field empty does not disable the use of
 -       # the RESTART command. In order to prevent the use of this command
 -       # you should remove it from the command privileges of your opers.
 -       restartpass="">
 +<bind address="" port="7000,7001" type="servers">
 +<bind address="1.2.3.4" port="7005" type="servers" ssl="openssl">
  
  
  #-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
index 735cac30444c07b209d94f68535407c1cf4c9253,8d62bb42fac4ede3004f793d8ce91cb911ac49ea..09b3bb3d5b345b5d6ab4c0663419cfb9727e8cfa
        # timeout: If defined, this option defines how long the server
        # will wait to consider the connect attempt failed and try the
        # failover (see above).
 -      timeout="300"
 +      timeout="5m"
  
 -      # 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
++      # "mbedtls" if you have not defined any. See the docs 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://docs.inspircd.org/2/modules/spanningtree
 -      # for more information. This will require an SSL link for both inbound
 -      # and outbound connections.
 +      # authenticated using SSL certificate fingerprints. See
-       # https://wiki.inspircd.org/SSL for more information. This will
-       # require an SSL link for both inbound and outbound connections.
++      # https://docs.inspircd.org/3/modules/spanningtree for more information.
++      # This will require an SSL link for both inbound and outbound connections.
        #fingerprint=""
  
        # bind: Local IP address to bind to.
index 913da6a2bd4b65339eea3d6d13fe5fde40fa332d,65d34e70fb9366dd1631e7dd0c176ca1bbea4d7c..517c5572033a28c6cefa838bcf50575af8d980c9
@@@ -10,7 -10,7 +10,7 @@@
  #                                                                     #
  #  By default, ALL modules are commented out. You must uncomment them #
  #  or add lines to your config to load modules. Please refer to       #
- #  https://wiki.inspircd.org/3.0/Modules for a list of modules and    #
 -#  https://docs.inspircd.org/2/modules for a list of modules and      #
++#  https://docs.inspircd.org/3/modules for a list of modules and      #
  #  each modules link for any additional conf tags they require.       #
  #                                                                     #
  #    ____                _   _____ _     _       ____  _ _   _        #
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
  # 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 dnsbl at     #
- # https://wiki.inspircd.org/Modules/3.0/dnsbl                         #
 -# For configuration options please see the docs page for m_dnsbl at   #
 -# https://docs.inspircd.org/2/modules/dnsbl                           #
++# For configuration options please see the docs page for dnsbl at     #
++# https://docs.inspircd.org/3/modules/dnsbl                           #
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
  # Exempt channel operators module: Provides support for allowing      #
  #
  #-#-#-#-#-#-#-#-#-#-#-  HOSTCHANGE  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # See https://wiki.inspircd.org/Modules/3.0/hostchange for help.      #
 -# See https://docs.inspircd.org/2/modules/hostchange for help.        #
++# See https://docs.inspircd.org/3/modules/hostchange for help.        #
  #                                                                     #
 -#<host suffix="invalid.org" separator="." prefix="">
 -#<hostchange mask="*@42.theanswer.example.org" action="addnick">
 -#<hostchange mask="*root@*" action="suffix">
 +#<hostchange mask="*@42.theanswer.example.org" action="addaccount" suffix=".users.example.com">
 +#<hostchange mask="*root@*" action="addnick" prefix="example/users/">
  #<hostchange mask="a@example.com" action="set" value="foo.bar.baz">
 -#<hostchange mask="localhost" ports="7000,7001,7005-7007" action="set" value="blahblah.foo">
 +#<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.
 +# 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.
  #
  #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # mysql is more complex than described here, see the wiki for more    #
- # info: https://wiki.inspircd.org/Modules/3.0/mysql                   #
 -# m_mysql.so is more complex than described here, see the docs for    #
 -# more: https://docs.inspircd.org/2/modules/mysql                     #
++# mysql is more complex than described here, see the docs for more    #
++# info: https://docs.inspircd.org/3/modules/mysql                     #
  #
  #<database module="mysql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database2">
  
  #
  #-#-#-#-#-#-#-#-#-#-#   OVERRIDE CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
 -# m_override.so is too complex it describe here, see the docs:        #
 -# https://docs.inspircd.org/2/modules/override                        #
 +# Much of override's configuration relates to your oper blocks.       #
 +# For more information on how to allow opers to override, see:        #
- # https://wiki.inspircd.org/Modules/3.0/override                      #
++# https://docs.inspircd.org/3/modules/override                        #
 +#                                                                     #
 +# noisy         - If enabled, all oper overrides will be announced    #
 +#                 via channel notice.                                 #
 +#                                                                     #
 +# requirekey    - If enabled, overriding on join requires a channel   #
 +#                 key of "override" to be specified.                  #
 +#                                                                     #
 +# enableumode   - If enabled, user mode +O is required for override.  #
 +#                                                                     #
 +#<override noisy="yes" requirekey="no" enableumode="true">
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
  # Oper levels module: Gives each oper a level and prevents actions
  #
  #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # pgsql is more complex than described here, see the wiki for         #
- # more: https://wiki.inspircd.org/Modules/3.0/pgsql                   #
 -# m_pgsql.so is more complex than described here, see the docs for    #
 -# more: https://docs.inspircd.org/2/modules/pgsql                     #
++# pgsql is more complex than described here, see the docs for         #
++# more: https://docs.inspircd.org/3/modules/pgsql                     #
  #
  #<database module="pgsql" name="mydb" user="myuser" pass="mypass" host="localhost" id="my_database" ssl="no">
  
  #
  #-#-#-#-#-#-#-#-#-#-#-  GNUTLS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # ssl_gnutls is too complex to describe here, see the wiki:           #
- # https://wiki.inspircd.org/Modules/3.0/ssl_gnutls                    #
 -# m_ssl_gnutls.so is too complex to describe here, see the docs:      #
 -# https://docs.inspircd.org/2/modules/ssl_gnutls                      #
++# ssl_gnutls is too complex to describe here, see the docs:           #
++# https://docs.inspircd.org/3/modules/ssl_gnutls                      #
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
  # SSL info module: Allows users to retrieve information about other
  #
  #-#-#-#-#-#-#-#-#-#-#- OPENSSL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # ssl_openssl is too complex to describe here, see the wiki:          #
- # https://wiki.inspircd.org/Modules/3.0/ssl_openssl                   #
 -# m_ssl_openssl.so is too complex to describe here, see the docs:     #
 -# https://docs.inspircd.org/2/modules/ssl_openssl                     #
++# ssl_openssl is too complex to describe here, see the docs:          #
++# https://docs.inspircd.org/3/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
  #
  #-#-#-#-#-#-#-#-#-#-#-#- SQL CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # sqlite is more complex than described here, see the wiki for more   #
- # info: https://wiki.inspircd.org/Modules/3.0/sqlite3                 #
 -# m_sqlite.so is more complex than described here, see the docs for   #
 -# more: https://docs.inspircd.org/2/modules/sqlite3                   #
++# sqlite is more complex than described here, see the docs for more   #
++# info: https://docs.inspircd.org/3/modules/sqlite3                   #
  #
  #<database module="sqlite" hostname="/full/path/to/database.db" id="anytext">
  
  #
  #-#-#-#-#-#-#-#-#-#-#- SQLAUTH CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
- # sqlauth is too complex to describe here, see the wiki:              #
- # https://wiki.inspircd.org/Modules/3.0/sqlauth                       #
 -# m_sqlauth.so is too complex to describe here, see the docs:         #
 -# https://docs.inspircd.org/2/modules/sqlauth                         #
++# sqlauth is too complex to describe here, see the docs:              #
++# https://docs.inspircd.org/3/modules/sqlauth                         #
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 -# SQL oper module: Allows you to store oper credentials in an SQL table
 +# SQL oper module: Allows you to store oper credentials in an SQL
 +# table. You can add additional table columns like you would config
 +# tags in opers.conf. Opers in opers.conf will override opers from
 +# this module.
  #
 -#<module name="m_sqloper.so">
 +#<module name="sqloper">
  #
  #-#-#-#-#-#-#-#-#-#-#- SQLOPER CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-#
  #                                                                     #
  # dbid       - Database ID to use (see SQL modules).                  #
 -# hash       - Hashing provider to use for password hashing.          #
  #                                                                     #
- # See also: https://wiki.inspircd.org/Modules/3.0/sqloper             #
 -# See also: https://docs.inspircd.org/2/modules/sqloper               #
++# See also: https://docs.inspircd.org/3/modules/sqloper               #
  #                                                                     #
 -#<sqloper dbid="1" hash="md5">
 +#<sqloper dbid="1">
 +
 +#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 +# StartTLS module: Implements STARTTLS, which allows clients          #
 +# connected to non SSL enabled ports to enable SSL, if a proper SSL   #
 +# module is loaded (either ssl_gnutls or ssl_openssl).                #
 +#<module name="starttls">
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 -# SVSHold module: Implements SVSHOLD. Like Q:Lines, but can only be   #
 +# SVSHold module: Implements SVSHOLD. Like Q-lines, but can only be   #
  # added/removed by Services.                                          #
 -#<module name="m_svshold.so">
 -# If silent is true no snotices will be generated by SVSHOLD.
 +#<module name="svshold">
 +# SVSHOLD does not generate server notices by default, you can turn
 +# notices on by uncommenting the next line.
  #<svshold silent="false">
  
  #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
index a41d35fca3b6e5c0f14d324b63a376520195a915,6979e1c74877919fbc55f5c9789a683ecf2baa6d..15d2fa863822c5ea2de92bfeac151ba6023d082c
@@@ -188,9 -200,9 +188,9 @@@ std-header
        @echo "*       BUILDING INSPIRCD           *"
        @echo "*                                   *"
        @echo "*   This will take a *long* time.   *"
-       @echo "*     Why not read our wiki at      *"
-       @echo "*     https://wiki.inspircd.org     *"
+       @echo "*     Why not read our docs at      *"
 -      @echo "*     http://docs.inspircd.org      *"
 -      @echo "*  while you wait for make to run?  *"
++      @echo "*     https://docs.inspircd.org     *"
 +      @echo "*  while you wait for Make to run?  *"
        @echo "*************************************"
  
  finishmessage: target
index 630ab3e8577043ff6367980990ac66e60cdb284c,f4a9316a133670eb6ab413b962642db266dae1c5..4f97075eaca5c41393164bada71d3d4a7c245e9a
@@@ -1,8 -1,8 +1,8 @@@
  This directory stores modules which require external libraries to compile.
- For example, m_filter_pcre requires the PCRE libraries.
+ For example, m_regex_pcre requires the PCRE libraries.
  
  To compile any of these modules first ensure you have the required dependencies
- (read the online documentation at https://wiki.inspircd.org) and then symlink
 -(read the online documentation at https://docs.inspircd.org/) and then symlink
++(read the online documentation at https://docs.inspircd.org) and then symlink
  the .cpp file from this directory into the parent directory (src/modules/).
  
  Alternatively, use the command: ./configure --enable-extras=m_extra.cpp, which will
Simple merge