Upgrading Anope from 2.0 to 2.1

Upgrading from Anope 2.0 to Anope 2.1 can be done by:

General

  1. Update any scripts you have that execute services to execute anope instead.

services.conf

  1. Rename services.conf to anope.conf.

  2. Replace uplink:ipv6 with uplink:protocol (example).

    	/*
    	 * The protocol that Anope should use when connecting to the uplink. Can
    	 * be set to "ipv4" (the default), "ipv6", or "unix".
    	 */
    	protocol = "ipv4"
  3. If you are using the charybdis protocol module then migrate to Solanum and replace it with the solanum module.

  4. If you are using the inspircd3 protocol module then replace it with the inspircd module.

  5. If you are using the inspircd12 or inspircd20 protocol modules then upgrade your IRCd and replace it with the inspircd module.

  6. If you are using the unreal4 protocol module then replace it with the unrealircd module.

  7. If you are using the unreal protocol module then upgrade your IRCd and replace it with the unrealircd module.

  8. Move the enc_md5, enc_none and enc_sha1 modules to be secondary encryption modules and add enc_bcrypt or enc_sha256 as a new primary encryption module (example).

    /*
     * [RECOMMENDED] Encryption modules.
     *
     * The encryption modules are used when dealing with passwords. This determines how
     * the passwords are stored in the databases, and does not add any security as
     * far as transmitting passwords over the network goes.
     *
     * Without any encryption modules loaded users will not be able to authenticate unless
     * there is another module loaded that provides authentication checking, such as
     * m_ldap_authentication or m_sql_authentication.
     *
     * With enc_none, passwords will be stored in plain text, allowing for passwords
     * to be recovered later but it isn't secure and therefore is not recommended.
     *
     * The other encryption modules use one-way encryption, so the passwords can not
     * be recovered later if those are used.
     *
     * The first encryption module loaded is the primary encryption module. All new passwords are
     * encrypted by this module. Old passwords stored in another encryption method are
     * automatically re-encrypted by the primary encryption module on next identify.
     *
     * enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
     * to upgrade to a newer encryption module. Do not use them as the primary
     * encryption module. They will be removed in a future release.
     *
     */
    
    #module { name = "enc_bcrypt" }
    module { name = "enc_sha256" }
    
     /*
     * [DEPRECATED] Deprecated encryption modules. You can only use these for compatibility with
     * old databases and will need to load one of the above modules as your primary encryption
     * module.
      */
    #module { name = "enc_md5" }
    #module { name = "enc_none" }
    #module { name = "enc_sha1" }

botserv.conf

  1. Add a description to the GREET privilege (example).
    privilege
    {
    	name = "GREET"
    	desc = _("Greet message displayed on join")
    	rank = 40
    	level = 5
    	flag = "g"
    	xop = "AOP"
    }​

chanserv.conf

  1. Add a description to the ACCESS_CHANGE, ACCESS_LIST, AKICK, ASSIGN, AUTOHALFOP, AUTOOP, AUTOOWNER, AUTOPROTECT, AUTOVOICE, BADWORDS, BAN, FANTASIA, FOUNDER, GETKEY, HALFOP, HALFOPME, INFO, INVITE, KICK, MEMO, MODE, NOKICK, OP, OPME, OWNER, OWNERME, PROTECT, PROTECTME, SAY, SET, SIGNKICK, TOPIC, UNBAN, UNBANME, VOICE, and VOICEME privileges (example).

  2. Add the UNBANME privilege for chanserv/unban (example).

    /*
     * UNBANME privilege.
     *
     * Used by chanserv/unban.
     *
     * Users with this permission can unban themself through ChanServ.
     */
    privilege
    {
    	name = "UNBANME"
    	desc = _("Allowed to unban themself")
    	rank = 200
    	level = 4
    	flag = "U"
    	xop = "HOP"
    }

chanstats.conf

  1. Remove the m_ prefix from the chanstats module.

nickserv.conf

  1. Add the nickserv/set/neverop and nickserv/saset/neverop commands (example).

    command { service = "NickServ"; name = "SET NEVEROP"; command = "nickserv/set/neverop"; }
    command { service = "NickServ"; name = "SASET NEVEROP"; command = "nickserv/saset/neverop"; permission = "nickserv/saset/neverop"; }
    
  2. Remove the ns_getpass module and nickserv/getpass command.

  3. Rename nickserv:passlen to nickserv:maxpasslen.

  4. Replace nickserv:strictpasswords with nickserv:minpasslen (example).

    	/*
    	 * The minimum length of passwords
    	 *
    	 * This directive is optional. If not set it defaults to 8.
    	 */
    	minpasslen = 8

modules.conf

  1. If enabled add module:tlsv10, module:tlsv11, and module:tlsv12 to the ssl_openssl module (example).

    	/*
    	 * If you wish to increase security you can disable support for older
    	 * versions of TLS with no known vulnerabilities but that provide less
    	 * security. For your security SSLv2 and SSLv3 are always disabled.
    	 */
    	#tlsv10 = no
    	#tlsv11 = no
    	#tlsv12 = yes
  2. If enabled remove the module:sslv3 from the ssl_openssl module (now always disabled).

  3. If enabled remove the the m_ prefix from the dns, dnsbl, helpchan, httpd, ldap, ldap_oper, mysql, proxyscan, redis, regex_pcre2, regex_posix, regex_stdlib, regex_tre, rewrite, sasl, sql_log, sql_oper, sqlite, ssl_gnutls, ssl_openssl, xmlrpc, and xmlrpc_main modules.

  4. If enabled replace the m_regex_pcre module with the regex_pcre2 module.

operserv.conf

  1. Remove the os_oline module and operserv/oline command.
    /*
     * os_oline
     *
     * Provides the command operserv/oline.
     *
     * Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
     * See /helpop ?svso on your IRCd for more information.
     */
    #module { name = "os_oline" }
    #command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }​

stats.standalone.conf

  1. Remove the m_ prefix from the mysql module.
If you get CMake error like:
Saving configuration results in config.cache... done.
cmake  -DINSTDIR:STRING=/home/sisrv/anope  -DDEFUMASK:STRING=077 -DCMAKE_BUILD_TYPE:STRING=RELEASE    ..
CMake Error at CMakeLists.txt:2 (cmake_minimum_required):
  CMake 3.8 or higher is required.  You are running version 3.0.2

check our tutorial on How to compile and install CMake on Linux

Did this tutorial help? How about buy me a cup of coffee?

  • upgrade anope, anope 2.1, upgrade anope 2
  • 4 Users Found This Useful
Was this answer helpful?

Related Articles

How to install Anope Services

Anope is a set of IRC Services designed for flexibility and ease of use. Anope is available in...

How to upgrade Anope 2.x

Anope is an open source set of IRC Services. It is highly modular, with a vast number of...

How to install Anope 2 Modules

Anope Modules are a quick and easy way to add or change the functionality of the main Anope...

Nickname Registration

Nickname RegistrationYour nick is how people on SiSrv know you. If you register it, you'll be...

ChanServ Commands

NOTE: Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or...

Powered by WHMCompleteSolution