summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2022-01-12 22:05:59 +0000
committerSadie Powell <sadie@witchery.services>2022-01-12 22:08:35 +0000
commita631028660d527f509c3b028cfa5f2903a125077 (patch)
tree830ba6644bb312af32847db654bfb842ed44a7cd /modules
parent4e5fc9797c2ea285e855f808dc65694d1cdba358 (diff)
parent04257b9d6ab0fa1a63ade1d2ad0edc2d08eb74ce (diff)
Merge branch '2.0' into 2.1.
Diffstat (limited to 'modules')
-rw-r--r--modules/bs_autoassign.cpp2
-rw-r--r--modules/commands/bs_assign.cpp2
-rw-r--r--modules/commands/bs_badwords.cpp2
-rw-r--r--modules/commands/bs_bot.cpp2
-rw-r--r--modules/commands/bs_botlist.cpp2
-rw-r--r--modules/commands/bs_control.cpp2
-rw-r--r--modules/commands/bs_info.cpp2
-rw-r--r--modules/commands/bs_kick.cpp2
-rw-r--r--modules/commands/bs_set.cpp2
-rw-r--r--modules/commands/cs_access.cpp2
-rw-r--r--modules/commands/cs_akick.cpp2
-rw-r--r--modules/commands/cs_ban.cpp2
-rw-r--r--modules/commands/cs_clone.cpp2
-rw-r--r--modules/commands/cs_drop.cpp2
-rw-r--r--modules/commands/cs_enforce.cpp2
-rw-r--r--modules/commands/cs_entrymsg.cpp2
-rw-r--r--modules/commands/cs_flags.cpp2
-rw-r--r--modules/commands/cs_getkey.cpp2
-rw-r--r--modules/commands/cs_info.cpp2
-rw-r--r--modules/commands/cs_invite.cpp2
-rw-r--r--modules/commands/cs_kick.cpp2
-rw-r--r--modules/commands/cs_list.cpp2
-rw-r--r--modules/commands/cs_log.cpp2
-rw-r--r--modules/commands/cs_mode.cpp2
-rw-r--r--modules/commands/cs_register.cpp2
-rw-r--r--modules/commands/cs_seen.cpp2
-rw-r--r--modules/commands/cs_set.cpp2
-rw-r--r--modules/commands/cs_set_misc.cpp2
-rw-r--r--modules/commands/cs_status.cpp2
-rw-r--r--modules/commands/cs_suspend.cpp2
-rw-r--r--modules/commands/cs_sync.cpp2
-rw-r--r--modules/commands/cs_topic.cpp2
-rw-r--r--modules/commands/cs_unban.cpp6
-rw-r--r--modules/commands/cs_updown.cpp2
-rw-r--r--modules/commands/cs_xop.cpp2
-rw-r--r--modules/commands/gl_global.cpp2
-rw-r--r--modules/commands/greet.cpp2
-rw-r--r--modules/commands/help.cpp2
-rw-r--r--modules/commands/hs_del.cpp2
-rw-r--r--modules/commands/hs_group.cpp2
-rw-r--r--modules/commands/hs_list.cpp2
-rw-r--r--modules/commands/hs_off.cpp2
-rw-r--r--modules/commands/hs_on.cpp2
-rw-r--r--modules/commands/hs_request.cpp2
-rw-r--r--modules/commands/hs_set.cpp2
-rw-r--r--modules/commands/ms_cancel.cpp2
-rw-r--r--modules/commands/ms_check.cpp2
-rw-r--r--modules/commands/ms_del.cpp2
-rw-r--r--modules/commands/ms_ignore.cpp2
-rw-r--r--modules/commands/ms_info.cpp2
-rw-r--r--modules/commands/ms_list.cpp2
-rw-r--r--modules/commands/ms_read.cpp2
-rw-r--r--modules/commands/ms_rsend.cpp2
-rw-r--r--modules/commands/ms_send.cpp2
-rw-r--r--modules/commands/ms_sendall.cpp2
-rw-r--r--modules/commands/ms_set.cpp2
-rw-r--r--modules/commands/ms_staff.cpp2
-rw-r--r--modules/commands/ns_access.cpp2
-rw-r--r--modules/commands/ns_ajoin.cpp2
-rw-r--r--modules/commands/ns_alist.cpp2
-rw-r--r--modules/commands/ns_cert.cpp2
-rw-r--r--modules/commands/ns_drop.cpp2
-rw-r--r--modules/commands/ns_getemail.cpp2
-rw-r--r--modules/commands/ns_group.cpp2
-rw-r--r--modules/commands/ns_identify.cpp2
-rw-r--r--modules/commands/ns_info.cpp2
-rw-r--r--modules/commands/ns_list.cpp2
-rw-r--r--modules/commands/ns_logout.cpp2
-rw-r--r--modules/commands/ns_recover.cpp2
-rw-r--r--modules/commands/ns_register.cpp2
-rw-r--r--modules/commands/ns_resetpass.cpp5
-rw-r--r--modules/commands/ns_set.cpp2
-rw-r--r--modules/commands/ns_set_misc.cpp2
-rw-r--r--modules/commands/ns_status.cpp2
-rw-r--r--modules/commands/ns_suspend.cpp2
-rw-r--r--modules/commands/ns_update.cpp2
-rw-r--r--modules/commands/os_akill.cpp2
-rw-r--r--modules/commands/os_chankill.cpp2
-rw-r--r--modules/commands/os_config.cpp2
-rw-r--r--modules/commands/os_defcon.cpp2
-rw-r--r--modules/commands/os_dns.cpp2
-rw-r--r--modules/commands/os_forbid.cpp2
-rw-r--r--modules/commands/os_ignore.cpp2
-rw-r--r--modules/commands/os_info.cpp2
-rw-r--r--modules/commands/os_jupe.cpp2
-rw-r--r--modules/commands/os_kick.cpp2
-rw-r--r--modules/commands/os_kill.cpp2
-rw-r--r--modules/commands/os_list.cpp2
-rw-r--r--modules/commands/os_login.cpp2
-rw-r--r--modules/commands/os_logsearch.cpp2
-rw-r--r--modules/commands/os_mode.cpp2
-rw-r--r--modules/commands/os_modinfo.cpp2
-rw-r--r--modules/commands/os_module.cpp2
-rw-r--r--modules/commands/os_news.cpp2
-rw-r--r--modules/commands/os_noop.cpp2
-rw-r--r--modules/commands/os_oper.cpp2
-rw-r--r--modules/commands/os_reload.cpp2
-rw-r--r--modules/commands/os_session.cpp2
-rw-r--r--modules/commands/os_set.cpp2
-rw-r--r--modules/commands/os_shutdown.cpp2
-rw-r--r--modules/commands/os_stats.cpp2
-rw-r--r--modules/commands/os_svs.cpp2
-rw-r--r--modules/commands/os_sxline.cpp2
-rw-r--r--modules/commands/os_update.cpp2
-rw-r--r--modules/cs_statusupdate.cpp2
-rw-r--r--modules/database/db_flatfile.cpp2
-rw-r--r--modules/database/db_old.cpp2
-rw-r--r--modules/database/db_redis.cpp2
-rw-r--r--modules/database/db_sql.cpp2
-rw-r--r--modules/database/db_sql_live.cpp2
-rw-r--r--modules/encryption/enc_bcrypt.cpp2
-rw-r--r--modules/encryption/enc_md5.cpp2
-rw-r--r--modules/encryption/enc_none.cpp2
-rw-r--r--modules/encryption/enc_old.cpp2
-rw-r--r--modules/encryption/enc_sha1.cpp2
-rw-r--r--modules/encryption/enc_sha256.cpp2
-rw-r--r--modules/extra/m_ldap.cpp2
-rw-r--r--modules/extra/m_ldap_authentication.cpp2
-rw-r--r--modules/extra/m_ldap_oper.cpp2
-rw-r--r--modules/extra/m_mysql.cpp2
-rw-r--r--modules/extra/m_regex_pcre.cpp2
-rw-r--r--modules/extra/m_regex_posix.cpp2
-rw-r--r--modules/extra/m_regex_tre.cpp2
-rw-r--r--modules/extra/m_sql_authentication.cpp2
-rw-r--r--modules/extra/m_sql_log.cpp2
-rw-r--r--modules/extra/m_sql_oper.cpp2
-rw-r--r--modules/extra/m_sqlite.cpp2
-rw-r--r--modules/extra/m_ssl_gnutls.cpp2
-rw-r--r--modules/extra/m_ssl_openssl.cpp2
-rw-r--r--modules/extra/stats/cs_fantasy_stats.cpp2
-rw-r--r--modules/extra/stats/cs_fantasy_top.cpp2
-rw-r--r--modules/extra/stats/irc2sql/irc2sql.cpp2
-rw-r--r--modules/extra/stats/irc2sql/irc2sql.h2
-rw-r--r--modules/extra/stats/irc2sql/tables.cpp93
-rw-r--r--modules/extra/stats/irc2sql/utils.cpp2
-rw-r--r--modules/extra/stats/m_chanstats.cpp2
-rw-r--r--modules/fantasy.cpp2
-rw-r--r--modules/m_dns.cpp2
-rw-r--r--modules/m_dnsbl.cpp2
-rw-r--r--modules/m_helpchan.cpp2
-rw-r--r--modules/m_httpd.cpp2
-rw-r--r--modules/m_proxyscan.cpp2
-rw-r--r--modules/m_redis.cpp2
-rw-r--r--modules/m_rewrite.cpp2
-rw-r--r--modules/m_sasl.cpp2
-rw-r--r--modules/m_xmlrpc.cpp2
-rw-r--r--modules/m_xmlrpc_main.cpp2
-rw-r--r--modules/ns_maxemail.cpp2
-rw-r--r--modules/protocol/bahamut.cpp2
-rw-r--r--modules/protocol/hybrid.cpp24
-rw-r--r--modules/protocol/inspircd.cpp2
-rw-r--r--modules/protocol/ngircd.cpp2
-rw-r--r--modules/protocol/plexus.cpp2
-rw-r--r--modules/protocol/ratbox.cpp2
-rw-r--r--modules/protocol/solanum.cpp2
-rw-r--r--modules/protocol/unrealircd.cpp339
-rw-r--r--modules/pseudoclients/botserv.cpp2
-rw-r--r--modules/pseudoclients/chanserv.cpp2
-rw-r--r--modules/pseudoclients/global.cpp2
-rw-r--r--modules/pseudoclients/hostserv.cpp2
-rw-r--r--modules/pseudoclients/memoserv.cpp2
-rw-r--r--modules/pseudoclients/nickserv.cpp2
-rw-r--r--modules/pseudoclients/operserv.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/access.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/access.h2
-rw-r--r--modules/webcpanel/pages/chanserv/akick.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/akick.h2
-rw-r--r--modules/webcpanel/pages/chanserv/drop.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/drop.h2
-rw-r--r--modules/webcpanel/pages/chanserv/info.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/info.h2
-rw-r--r--modules/webcpanel/pages/chanserv/modes.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/modes.h2
-rw-r--r--modules/webcpanel/pages/chanserv/set.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/set.h2
-rw-r--r--modules/webcpanel/pages/chanserv/utils.cpp2
-rw-r--r--modules/webcpanel/pages/chanserv/utils.h2
-rw-r--r--modules/webcpanel/pages/confirm.cpp2
-rw-r--r--modules/webcpanel/pages/confirm.h2
-rw-r--r--modules/webcpanel/pages/hostserv/request.cpp2
-rw-r--r--modules/webcpanel/pages/hostserv/request.h2
-rw-r--r--modules/webcpanel/pages/index.cpp2
-rw-r--r--modules/webcpanel/pages/index.h2
-rw-r--r--modules/webcpanel/pages/logout.cpp2
-rw-r--r--modules/webcpanel/pages/logout.h2
-rw-r--r--modules/webcpanel/pages/memoserv/memos.cpp2
-rw-r--r--modules/webcpanel/pages/memoserv/memos.h2
-rw-r--r--modules/webcpanel/pages/nickserv/access.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/access.h2
-rw-r--r--modules/webcpanel/pages/nickserv/alist.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/alist.h2
-rw-r--r--modules/webcpanel/pages/nickserv/cert.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/cert.h2
-rw-r--r--modules/webcpanel/pages/nickserv/info.cpp2
-rw-r--r--modules/webcpanel/pages/nickserv/info.h2
-rw-r--r--modules/webcpanel/pages/operserv/akill.cpp2
-rw-r--r--modules/webcpanel/pages/operserv/akill.h2
-rw-r--r--modules/webcpanel/pages/register.cpp2
-rw-r--r--modules/webcpanel/pages/register.h2
-rw-r--r--modules/webcpanel/static_fileserver.cpp2
-rw-r--r--modules/webcpanel/static_fileserver.h2
-rw-r--r--modules/webcpanel/template_fileserver.cpp2
-rw-r--r--modules/webcpanel/template_fileserver.h2
-rw-r--r--modules/webcpanel/templates/default/confirm.html2
-rw-r--r--modules/webcpanel/templates/default/footer.html2
-rw-r--r--modules/webcpanel/templates/default/login.html2
-rw-r--r--modules/webcpanel/templates/default/register.html2
-rw-r--r--modules/webcpanel/webcpanel.cpp2
-rw-r--r--modules/webcpanel/webcpanel.h2
209 files changed, 572 insertions, 303 deletions
diff --git a/modules/bs_autoassign.cpp b/modules/bs_autoassign.cpp
index 3686b1a2e..c435c457a 100644
--- a/modules/bs_autoassign.cpp
+++ b/modules/bs_autoassign.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_assign.cpp b/modules/commands/bs_assign.cpp
index 2cb580b5b..a75dabcb7 100644
--- a/modules/commands/bs_assign.cpp
+++ b/modules/commands/bs_assign.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_badwords.cpp b/modules/commands/bs_badwords.cpp
index 3e397786e..32584a7f8 100644
--- a/modules/commands/bs_badwords.cpp
+++ b/modules/commands/bs_badwords.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_bot.cpp b/modules/commands/bs_bot.cpp
index 78f3aa931..c66483a21 100644
--- a/modules/commands/bs_bot.cpp
+++ b/modules/commands/bs_bot.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_botlist.cpp b/modules/commands/bs_botlist.cpp
index ceb3bb3fc..c1aa62671 100644
--- a/modules/commands/bs_botlist.cpp
+++ b/modules/commands/bs_botlist.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_control.cpp b/modules/commands/bs_control.cpp
index 407912baa..33a5a7c7c 100644
--- a/modules/commands/bs_control.cpp
+++ b/modules/commands/bs_control.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_info.cpp b/modules/commands/bs_info.cpp
index dd72a973a..1081dcfeb 100644
--- a/modules/commands/bs_info.cpp
+++ b/modules/commands/bs_info.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_kick.cpp b/modules/commands/bs_kick.cpp
index 265864704..779ddbde4 100644
--- a/modules/commands/bs_kick.cpp
+++ b/modules/commands/bs_kick.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/bs_set.cpp b/modules/commands/bs_set.cpp
index b54543e00..16f958715 100644
--- a/modules/commands/bs_set.cpp
+++ b/modules/commands/bs_set.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_access.cpp b/modules/commands/cs_access.cpp
index ee6d324c7..8fd714720 100644
--- a/modules/commands/cs_access.cpp
+++ b/modules/commands/cs_access.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_akick.cpp b/modules/commands/cs_akick.cpp
index 94e1955ff..6d9f7c7bd 100644
--- a/modules/commands/cs_akick.cpp
+++ b/modules/commands/cs_akick.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_ban.cpp b/modules/commands/cs_ban.cpp
index d35932bba..4fcf58801 100644
--- a/modules/commands/cs_ban.cpp
+++ b/modules/commands/cs_ban.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_clone.cpp b/modules/commands/cs_clone.cpp
index 70e2a7425..8a7f7420c 100644
--- a/modules/commands/cs_clone.cpp
+++ b/modules/commands/cs_clone.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_drop.cpp b/modules/commands/cs_drop.cpp
index 30db66c71..9af826c7f 100644
--- a/modules/commands/cs_drop.cpp
+++ b/modules/commands/cs_drop.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_enforce.cpp b/modules/commands/cs_enforce.cpp
index 6b34b4741..47aa7695b 100644
--- a/modules/commands/cs_enforce.cpp
+++ b/modules/commands/cs_enforce.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Original Coder: GeniusDex <geniusdex@anope.org>
diff --git a/modules/commands/cs_entrymsg.cpp b/modules/commands/cs_entrymsg.cpp
index f29581936..d5a90b1bb 100644
--- a/modules/commands/cs_entrymsg.cpp
+++ b/modules/commands/cs_entrymsg.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_flags.cpp b/modules/commands/cs_flags.cpp
index e891335ef..020f42a7f 100644
--- a/modules/commands/cs_flags.cpp
+++ b/modules/commands/cs_flags.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_getkey.cpp b/modules/commands/cs_getkey.cpp
index fe12cb8a5..86e3ec851 100644
--- a/modules/commands/cs_getkey.cpp
+++ b/modules/commands/cs_getkey.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_info.cpp b/modules/commands/cs_info.cpp
index 03c72563d..06dc4c810 100644
--- a/modules/commands/cs_info.cpp
+++ b/modules/commands/cs_info.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_invite.cpp b/modules/commands/cs_invite.cpp
index 3b4753da3..db8adfb98 100644
--- a/modules/commands/cs_invite.cpp
+++ b/modules/commands/cs_invite.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_kick.cpp b/modules/commands/cs_kick.cpp
index 0589d5e05..093bf9158 100644
--- a/modules/commands/cs_kick.cpp
+++ b/modules/commands/cs_kick.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_list.cpp b/modules/commands/cs_list.cpp
index d25e0b1eb..b16819a27 100644
--- a/modules/commands/cs_list.cpp
+++ b/modules/commands/cs_list.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_log.cpp b/modules/commands/cs_log.cpp
index 157d3692e..5f49db2de 100644
--- a/modules/commands/cs_log.cpp
+++ b/modules/commands/cs_log.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_mode.cpp b/modules/commands/cs_mode.cpp
index a889ba4ec..916c1e8d1 100644
--- a/modules/commands/cs_mode.cpp
+++ b/modules/commands/cs_mode.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_register.cpp b/modules/commands/cs_register.cpp
index c85ac8ff8..c1e3cef37 100644
--- a/modules/commands/cs_register.cpp
+++ b/modules/commands/cs_register.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_seen.cpp b/modules/commands/cs_seen.cpp
index 913b2d408..7e2d66d64 100644
--- a/modules/commands/cs_seen.cpp
+++ b/modules/commands/cs_seen.cpp
@@ -1,6 +1,6 @@
/* cs_seen: provides a seen command by tracking all users
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_set.cpp b/modules/commands/cs_set.cpp
index 858fda279..3081357d0 100644
--- a/modules/commands/cs_set.cpp
+++ b/modules/commands/cs_set.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_set_misc.cpp b/modules/commands/cs_set_misc.cpp
index 765cea7ba..c259e896e 100644
--- a/modules/commands/cs_set_misc.cpp
+++ b/modules/commands/cs_set_misc.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_status.cpp b/modules/commands/cs_status.cpp
index b297b8224..2112d7ba3 100644
--- a/modules/commands/cs_status.cpp
+++ b/modules/commands/cs_status.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_suspend.cpp b/modules/commands/cs_suspend.cpp
index 7bd5f1a2e..6c22d16dc 100644
--- a/modules/commands/cs_suspend.cpp
+++ b/modules/commands/cs_suspend.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_sync.cpp b/modules/commands/cs_sync.cpp
index a0268bf03..f386777b4 100644
--- a/modules/commands/cs_sync.cpp
+++ b/modules/commands/cs_sync.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_topic.cpp b/modules/commands/cs_topic.cpp
index 95b67e832..b99b90367 100644
--- a/modules/commands/cs_topic.cpp
+++ b/modules/commands/cs_topic.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_unban.cpp b/modules/commands/cs_unban.cpp
index 897ad468f..438275ed2 100644
--- a/modules/commands/cs_unban.cpp
+++ b/modules/commands/cs_unban.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -45,6 +45,8 @@ class CommandCSUnban : public Command
if (!ci->c || !source.AccessFor(ci).HasPriv("UNBAN"))
continue;
+ FOREACH_MOD(OnChannelUnban, (source.GetUser(), ci));
+
for (unsigned j = 0; j < modes.size(); ++j)
if (ci->c->Unban(source.GetUser(), modes[j]->name, true))
++count;
@@ -88,6 +90,8 @@ class CommandCSUnban : public Command
bool override = !source.AccessFor(ci).HasPriv("UNBAN") && source.HasPriv("chanserv/kick");
Log(override ? LOG_OVERRIDE : LOG_COMMAND, source, this, ci) << "to unban " << u2->nick;
+ FOREACH_MOD(OnChannelUnban, (u2, ci));
+
for (unsigned i = 0; i < modes.size(); ++i)
ci->c->Unban(u2, modes[i]->name, source.GetUser() == u2);
if (u2 == source.GetUser())
diff --git a/modules/commands/cs_updown.cpp b/modules/commands/cs_updown.cpp
index 9bc40e218..a19de1140 100644
--- a/modules/commands/cs_updown.cpp
+++ b/modules/commands/cs_updown.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/cs_xop.cpp b/modules/commands/cs_xop.cpp
index 423bdd552..ec770016d 100644
--- a/modules/commands/cs_xop.cpp
+++ b/modules/commands/cs_xop.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/gl_global.cpp b/modules/commands/gl_global.cpp
index d8a414fde..f69514862 100644
--- a/modules/commands/gl_global.cpp
+++ b/modules/commands/gl_global.cpp
@@ -1,6 +1,6 @@
/* Global core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/greet.cpp b/modules/commands/greet.cpp
index a75c6538e..2ce6095fa 100644
--- a/modules/commands/greet.cpp
+++ b/modules/commands/greet.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/help.cpp b/modules/commands/help.cpp
index c2ed216de..4971792d8 100644
--- a/modules/commands/help.cpp
+++ b/modules/commands/help.cpp
@@ -1,6 +1,6 @@
/* Core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_del.cpp b/modules/commands/hs_del.cpp
index b19a85c4a..09e4b1107 100644
--- a/modules/commands/hs_del.cpp
+++ b/modules/commands/hs_del.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_group.cpp b/modules/commands/hs_group.cpp
index 17dc2dad0..8dcde8590 100644
--- a/modules/commands/hs_group.cpp
+++ b/modules/commands/hs_group.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_list.cpp b/modules/commands/hs_list.cpp
index ef4b37402..015eb96f5 100644
--- a/modules/commands/hs_list.cpp
+++ b/modules/commands/hs_list.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_off.cpp b/modules/commands/hs_off.cpp
index f7bf81f6b..18f944bda 100644
--- a/modules/commands/hs_off.cpp
+++ b/modules/commands/hs_off.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_on.cpp b/modules/commands/hs_on.cpp
index 44291fffe..86ef3a7bb 100644
--- a/modules/commands/hs_on.cpp
+++ b/modules/commands/hs_on.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/hs_request.cpp b/modules/commands/hs_request.cpp
index 8a02ea7d1..fc00e5b38 100644
--- a/modules/commands/hs_request.cpp
+++ b/modules/commands/hs_request.cpp
@@ -1,6 +1,6 @@
/* hs_request.c - Add request and activate functionality to HostServ
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Based on the original module by Rob <rob@anope.org>
diff --git a/modules/commands/hs_set.cpp b/modules/commands/hs_set.cpp
index 8f56333c4..49e0c53f3 100644
--- a/modules/commands/hs_set.cpp
+++ b/modules/commands/hs_set.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_cancel.cpp b/modules/commands/ms_cancel.cpp
index ceba02aa8..e5a9669d7 100644
--- a/modules/commands/ms_cancel.cpp
+++ b/modules/commands/ms_cancel.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_check.cpp b/modules/commands/ms_check.cpp
index dafc0af03..e948585d6 100644
--- a/modules/commands/ms_check.cpp
+++ b/modules/commands/ms_check.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_del.cpp b/modules/commands/ms_del.cpp
index ff9596c30..f56274d15 100644
--- a/modules/commands/ms_del.cpp
+++ b/modules/commands/ms_del.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_ignore.cpp b/modules/commands/ms_ignore.cpp
index 4543689b2..9235b35fc 100644
--- a/modules/commands/ms_ignore.cpp
+++ b/modules/commands/ms_ignore.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_info.cpp b/modules/commands/ms_info.cpp
index eb9b785d1..062999e89 100644
--- a/modules/commands/ms_info.cpp
+++ b/modules/commands/ms_info.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_list.cpp b/modules/commands/ms_list.cpp
index b09c579dd..ed0c66b5a 100644
--- a/modules/commands/ms_list.cpp
+++ b/modules/commands/ms_list.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_read.cpp b/modules/commands/ms_read.cpp
index 7f0cba722..2a59d95d3 100644
--- a/modules/commands/ms_read.cpp
+++ b/modules/commands/ms_read.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_rsend.cpp b/modules/commands/ms_rsend.cpp
index eaeea00bd..f30de16c7 100644
--- a/modules/commands/ms_rsend.cpp
+++ b/modules/commands/ms_rsend.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_send.cpp b/modules/commands/ms_send.cpp
index 0e20af065..9edfbc3ba 100644
--- a/modules/commands/ms_send.cpp
+++ b/modules/commands/ms_send.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_sendall.cpp b/modules/commands/ms_sendall.cpp
index efe9c7689..0a9be5241 100644
--- a/modules/commands/ms_sendall.cpp
+++ b/modules/commands/ms_sendall.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_set.cpp b/modules/commands/ms_set.cpp
index 56a8da09a..7a29dbee7 100644
--- a/modules/commands/ms_set.cpp
+++ b/modules/commands/ms_set.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ms_staff.cpp b/modules/commands/ms_staff.cpp
index 774971c69..1e3bb0c6a 100644
--- a/modules/commands/ms_staff.cpp
+++ b/modules/commands/ms_staff.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_access.cpp b/modules/commands/ns_access.cpp
index 743616d9f..ebcffb9b2 100644
--- a/modules/commands/ns_access.cpp
+++ b/modules/commands/ns_access.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_ajoin.cpp b/modules/commands/ns_ajoin.cpp
index 1f48dfb68..ec15cf1fa 100644
--- a/modules/commands/ns_ajoin.cpp
+++ b/modules/commands/ns_ajoin.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_alist.cpp b/modules/commands/ns_alist.cpp
index c6e485d2c..b00f9d55b 100644
--- a/modules/commands/ns_alist.cpp
+++ b/modules/commands/ns_alist.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_cert.cpp b/modules/commands/ns_cert.cpp
index 328216de6..c8ee0cc98 100644
--- a/modules/commands/ns_cert.cpp
+++ b/modules/commands/ns_cert.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_drop.cpp b/modules/commands/ns_drop.cpp
index 4ee558ba0..c7aa0252f 100644
--- a/modules/commands/ns_drop.cpp
+++ b/modules/commands/ns_drop.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_getemail.cpp b/modules/commands/ns_getemail.cpp
index 85e977d6d..bd6d029c1 100644
--- a/modules/commands/ns_getemail.cpp
+++ b/modules/commands/ns_getemail.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_group.cpp b/modules/commands/ns_group.cpp
index bd26f5a36..a9164540c 100644
--- a/modules/commands/ns_group.cpp
+++ b/modules/commands/ns_group.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_identify.cpp b/modules/commands/ns_identify.cpp
index 61da680fa..0c47a99a8 100644
--- a/modules/commands/ns_identify.cpp
+++ b/modules/commands/ns_identify.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_info.cpp b/modules/commands/ns_info.cpp
index a4ea5a3c1..04c2280a7 100644
--- a/modules/commands/ns_info.cpp
+++ b/modules/commands/ns_info.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_list.cpp b/modules/commands/ns_list.cpp
index 407d15d8e..32cbf7534 100644
--- a/modules/commands/ns_list.cpp
+++ b/modules/commands/ns_list.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_logout.cpp b/modules/commands/ns_logout.cpp
index 8eb2934d9..b2075d561 100644
--- a/modules/commands/ns_logout.cpp
+++ b/modules/commands/ns_logout.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_recover.cpp b/modules/commands/ns_recover.cpp
index e6600506f..0c6b10e7e 100644
--- a/modules/commands/ns_recover.cpp
+++ b/modules/commands/ns_recover.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp
index 2e9f08aeb..e31f4eda3 100644
--- a/modules/commands/ns_register.cpp
+++ b/modules/commands/ns_register.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_resetpass.cpp b/modules/commands/ns_resetpass.cpp
index 6ca5e55fb..0c5842da3 100644
--- a/modules/commands/ns_resetpass.cpp
+++ b/modules/commands/ns_resetpass.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -105,8 +105,9 @@ class NSResetPass : public Module
if (source.GetUser())
{
source.GetUser()->Identify(na);
- source.Reply(_("You are now identified for your nick. Change your password now."));
}
+
+ source.Reply(_("You are now identified for your nick. Change your password now."));
}
else
return EVENT_CONTINUE;
diff --git a/modules/commands/ns_set.cpp b/modules/commands/ns_set.cpp
index a0f89dd8b..36fe49df1 100644
--- a/modules/commands/ns_set.cpp
+++ b/modules/commands/ns_set.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_set_misc.cpp b/modules/commands/ns_set_misc.cpp
index cec4e2e35..22d3e9edc 100644
--- a/modules/commands/ns_set_misc.cpp
+++ b/modules/commands/ns_set_misc.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_status.cpp b/modules/commands/ns_status.cpp
index a819c0013..d1becf6dc 100644
--- a/modules/commands/ns_status.cpp
+++ b/modules/commands/ns_status.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_suspend.cpp b/modules/commands/ns_suspend.cpp
index f8d03d7c3..58a7fe927 100644
--- a/modules/commands/ns_suspend.cpp
+++ b/modules/commands/ns_suspend.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/ns_update.cpp b/modules/commands/ns_update.cpp
index ba16dd0ce..f74797277 100644
--- a/modules/commands/ns_update.cpp
+++ b/modules/commands/ns_update.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_akill.cpp b/modules/commands/os_akill.cpp
index 8c82cb55c..7a2b36a0a 100644
--- a/modules/commands/os_akill.cpp
+++ b/modules/commands/os_akill.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_chankill.cpp b/modules/commands/os_chankill.cpp
index 8c1457f38..93823daac 100644
--- a/modules/commands/os_chankill.cpp
+++ b/modules/commands/os_chankill.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_config.cpp b/modules/commands/os_config.cpp
index 2d3bbf268..b3166c880 100644
--- a/modules/commands/os_config.cpp
+++ b/modules/commands/os_config.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_defcon.cpp b/modules/commands/os_defcon.cpp
index cebb979b4..2a9dcb4e3 100644
--- a/modules/commands/os_defcon.cpp
+++ b/modules/commands/os_defcon.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_dns.cpp b/modules/commands/os_dns.cpp
index 1a3189d6b..9a86e968c 100644
--- a/modules/commands/os_dns.cpp
+++ b/modules/commands/os_dns.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_forbid.cpp b/modules/commands/os_forbid.cpp
index a86ba79d8..c42361b85 100644
--- a/modules/commands/os_forbid.cpp
+++ b/modules/commands/os_forbid.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_ignore.cpp b/modules/commands/os_ignore.cpp
index d973fe8cc..8ff0c74b8 100644
--- a/modules/commands/os_ignore.cpp
+++ b/modules/commands/os_ignore.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_info.cpp b/modules/commands/os_info.cpp
index 652d51593..50517f9bc 100644
--- a/modules/commands/os_info.cpp
+++ b/modules/commands/os_info.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_jupe.cpp b/modules/commands/os_jupe.cpp
index 774e8e694..1747691b5 100644
--- a/modules/commands/os_jupe.cpp
+++ b/modules/commands/os_jupe.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_kick.cpp b/modules/commands/os_kick.cpp
index 79dd0df8f..5f3f2b681 100644
--- a/modules/commands/os_kick.cpp
+++ b/modules/commands/os_kick.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_kill.cpp b/modules/commands/os_kill.cpp
index 91606d944..4c033a628 100644
--- a/modules/commands/os_kill.cpp
+++ b/modules/commands/os_kill.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_list.cpp b/modules/commands/os_list.cpp
index 015cbebdc..21a1e32cb 100644
--- a/modules/commands/os_list.cpp
+++ b/modules/commands/os_list.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_login.cpp b/modules/commands/os_login.cpp
index 2d72cd01c..1c72346c6 100644
--- a/modules/commands/os_login.cpp
+++ b/modules/commands/os_login.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_logsearch.cpp b/modules/commands/os_logsearch.cpp
index 0765b115a..9988fda6d 100644
--- a/modules/commands/os_logsearch.cpp
+++ b/modules/commands/os_logsearch.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_mode.cpp b/modules/commands/os_mode.cpp
index 3ae3d2f50..38e92ecd6 100644
--- a/modules/commands/os_mode.cpp
+++ b/modules/commands/os_mode.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_modinfo.cpp b/modules/commands/os_modinfo.cpp
index 85650cb2e..ff7d67ba7 100644
--- a/modules/commands/os_modinfo.cpp
+++ b/modules/commands/os_modinfo.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_module.cpp b/modules/commands/os_module.cpp
index d878cd1a1..fa4518b1f 100644
--- a/modules/commands/os_module.cpp
+++ b/modules/commands/os_module.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_news.cpp b/modules/commands/os_news.cpp
index 6f8adb078..fc63d602b 100644
--- a/modules/commands/os_news.cpp
+++ b/modules/commands/os_news.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_noop.cpp b/modules/commands/os_noop.cpp
index 4a14a6528..23199c808 100644
--- a/modules/commands/os_noop.cpp
+++ b/modules/commands/os_noop.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_oper.cpp b/modules/commands/os_oper.cpp
index ee7c87028..9e32e9614 100644
--- a/modules/commands/os_oper.cpp
+++ b/modules/commands/os_oper.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_reload.cpp b/modules/commands/os_reload.cpp
index cf1293754..51bbe374b 100644
--- a/modules/commands/os_reload.cpp
+++ b/modules/commands/os_reload.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_session.cpp b/modules/commands/os_session.cpp
index a667cac10..b2f31ab04 100644
--- a/modules/commands/os_session.cpp
+++ b/modules/commands/os_session.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_set.cpp b/modules/commands/os_set.cpp
index b49a0562e..81b882fa4 100644
--- a/modules/commands/os_set.cpp
+++ b/modules/commands/os_set.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_shutdown.cpp b/modules/commands/os_shutdown.cpp
index a5fab15e2..536da4429 100644
--- a/modules/commands/os_shutdown.cpp
+++ b/modules/commands/os_shutdown.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_stats.cpp b/modules/commands/os_stats.cpp
index 0dac3fb82..c2173cc50 100644
--- a/modules/commands/os_stats.cpp
+++ b/modules/commands/os_stats.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_svs.cpp b/modules/commands/os_svs.cpp
index 14d94d436..a162b99c7 100644
--- a/modules/commands/os_svs.cpp
+++ b/modules/commands/os_svs.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_sxline.cpp b/modules/commands/os_sxline.cpp
index eccdf5464..b4e28d13d 100644
--- a/modules/commands/os_sxline.cpp
+++ b/modules/commands/os_sxline.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/commands/os_update.cpp b/modules/commands/os_update.cpp
index 2175bd32d..0c3ab0f1a 100644
--- a/modules/commands/os_update.cpp
+++ b/modules/commands/os_update.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/cs_statusupdate.cpp b/modules/cs_statusupdate.cpp
index cbfd3dc84..cd271b248 100644
--- a/modules/cs_statusupdate.cpp
+++ b/modules/cs_statusupdate.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/database/db_flatfile.cpp b/modules/database/db_flatfile.cpp
index 21cb7cc22..f00694735 100644
--- a/modules/database/db_flatfile.cpp
+++ b/modules/database/db_flatfile.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/database/db_old.cpp b/modules/database/db_old.cpp
index da562d233..ddc79e3ec 100644
--- a/modules/database/db_old.cpp
+++ b/modules/database/db_old.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/database/db_redis.cpp b/modules/database/db_redis.cpp
index 8e0014fd7..81c0a6197 100644
--- a/modules/database/db_redis.cpp
+++ b/modules/database/db_redis.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/database/db_sql.cpp b/modules/database/db_sql.cpp
index 0c32310f3..96dc1388d 100644
--- a/modules/database/db_sql.cpp
+++ b/modules/database/db_sql.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/database/db_sql_live.cpp b/modules/database/db_sql_live.cpp
index 8cedfe579..3101aece0 100644
--- a/modules/database/db_sql_live.cpp
+++ b/modules/database/db_sql_live.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/encryption/enc_bcrypt.cpp b/modules/encryption/enc_bcrypt.cpp
index 6301579f2..60b927e5e 100644
--- a/modules/encryption/enc_bcrypt.cpp
+++ b/modules/encryption/enc_bcrypt.cpp
@@ -1,6 +1,6 @@
/* Module for providing bcrypt hashing
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* This program is free but copyrighted software; see the file COPYING for
diff --git a/modules/encryption/enc_md5.cpp b/modules/encryption/enc_md5.cpp
index 1b19316e5..2567f8247 100644
--- a/modules/encryption/enc_md5.cpp
+++ b/modules/encryption/enc_md5.cpp
@@ -1,7 +1,7 @@
/* Module for encryption using MD5.
*
* Modified for Anope.
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Taken from IRC Services and is copyright (c) 1996-2002 Andrew Church.
diff --git a/modules/encryption/enc_none.cpp b/modules/encryption/enc_none.cpp
index 970530c9b..5584cd865 100644
--- a/modules/encryption/enc_none.cpp
+++ b/modules/encryption/enc_none.cpp
@@ -1,6 +1,6 @@
/* Module for plain text encryption.
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* This program is free but copyrighted software; see the file COPYING for
diff --git a/modules/encryption/enc_old.cpp b/modules/encryption/enc_old.cpp
index 9f051cf91..bae3a5e76 100644
--- a/modules/encryption/enc_old.cpp
+++ b/modules/encryption/enc_old.cpp
@@ -1,6 +1,6 @@
/* Include file for high-level encryption routines.
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/encryption/enc_sha1.cpp b/modules/encryption/enc_sha1.cpp
index c59794aa2..8e1c9da46 100644
--- a/modules/encryption/enc_sha1.cpp
+++ b/modules/encryption/enc_sha1.cpp
@@ -1,7 +1,7 @@
/*
*
* Modified for Anope.
- * (C) 2006-2021 Anope Team
+ * (C) 2006-2022 Anope Team
* Contact us at team@anope.org
SHA-1 in C
diff --git a/modules/encryption/enc_sha256.cpp b/modules/encryption/enc_sha256.cpp
index 384da515e..6aee9e008 100644
--- a/modules/encryption/enc_sha256.cpp
+++ b/modules/encryption/enc_sha256.cpp
@@ -5,7 +5,7 @@
* IMPORTANT: DATA HASHES CANNOT BE "DECRYPTED" BACK TO PLAIN TEXT.
*
* Modified for Anope.
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Taken from InspIRCd (https://www.inspircd.org/),
diff --git a/modules/extra/m_ldap.cpp b/modules/extra/m_ldap.cpp
index b72c9af56..b450df751 100644
--- a/modules/extra/m_ldap.cpp
+++ b/modules/extra/m_ldap.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2011-2021 Anope Team
+ * (C) 2011-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_ldap_authentication.cpp b/modules/extra/m_ldap_authentication.cpp
index ab67bd919..d711eb32c 100644
--- a/modules/extra/m_ldap_authentication.cpp
+++ b/modules/extra/m_ldap_authentication.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2011-2021 Anope Team
+ * (C) 2011-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_ldap_oper.cpp b/modules/extra/m_ldap_oper.cpp
index ce60401da..d2784da48 100644
--- a/modules/extra/m_ldap_oper.cpp
+++ b/modules/extra/m_ldap_oper.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2011-2021 Anope Team
+ * (C) 2011-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_mysql.cpp b/modules/extra/m_mysql.cpp
index 96f346b53..be0214eee 100644
--- a/modules/extra/m_mysql.cpp
+++ b/modules/extra/m_mysql.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2010-2021 Anope Team
+ * (C) 2010-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_regex_pcre.cpp b/modules/extra/m_regex_pcre.cpp
index e2d939691..66e153ee7 100644
--- a/modules/extra/m_regex_pcre.cpp
+++ b/modules/extra/m_regex_pcre.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_regex_posix.cpp b/modules/extra/m_regex_posix.cpp
index afaf0c71f..ca2038dd6 100644
--- a/modules/extra/m_regex_posix.cpp
+++ b/modules/extra/m_regex_posix.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_regex_tre.cpp b/modules/extra/m_regex_tre.cpp
index fb8c29921..09e1fecbf 100644
--- a/modules/extra/m_regex_tre.cpp
+++ b/modules/extra/m_regex_tre.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_sql_authentication.cpp b/modules/extra/m_sql_authentication.cpp
index e78dd0594..5c2debf22 100644
--- a/modules/extra/m_sql_authentication.cpp
+++ b/modules/extra/m_sql_authentication.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_sql_log.cpp b/modules/extra/m_sql_log.cpp
index 735fb6ba6..c53a31eba 100644
--- a/modules/extra/m_sql_log.cpp
+++ b/modules/extra/m_sql_log.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_sql_oper.cpp b/modules/extra/m_sql_oper.cpp
index 87b268dd9..d6a04e5c4 100644
--- a/modules/extra/m_sql_oper.cpp
+++ b/modules/extra/m_sql_oper.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_sqlite.cpp b/modules/extra/m_sqlite.cpp
index ad74c435b..5016e2a31 100644
--- a/modules/extra/m_sqlite.cpp
+++ b/modules/extra/m_sqlite.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2011-2021 Anope Team
+ * (C) 2011-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_ssl_gnutls.cpp b/modules/extra/m_ssl_gnutls.cpp
index c6b532269..aba7c99f4 100644
--- a/modules/extra/m_ssl_gnutls.cpp
+++ b/modules/extra/m_ssl_gnutls.cpp
@@ -1,7 +1,7 @@
/*
*
* (C) 2014 Attila Molnar <attilamolnar@hush.com>
- * (C) 2014-2021 Anope Team
+ * (C) 2014-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/m_ssl_openssl.cpp b/modules/extra/m_ssl_openssl.cpp
index 4245d3c09..d89aaa490 100644
--- a/modules/extra/m_ssl_openssl.cpp
+++ b/modules/extra/m_ssl_openssl.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2010-2021 Anope Team
+ * (C) 2010-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/cs_fantasy_stats.cpp b/modules/extra/stats/cs_fantasy_stats.cpp
index ba0d216cb..6054d613a 100644
--- a/modules/extra/stats/cs_fantasy_stats.cpp
+++ b/modules/extra/stats/cs_fantasy_stats.cpp
@@ -1,6 +1,6 @@
/* Chanstats core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/cs_fantasy_top.cpp b/modules/extra/stats/cs_fantasy_top.cpp
index 3d4d75241..b5fad641f 100644
--- a/modules/extra/stats/cs_fantasy_top.cpp
+++ b/modules/extra/stats/cs_fantasy_top.cpp
@@ -1,6 +1,6 @@
/* Chanstats core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/irc2sql/irc2sql.cpp b/modules/extra/stats/irc2sql/irc2sql.cpp
index f0667e2e4..209f8831b 100644
--- a/modules/extra/stats/irc2sql/irc2sql.cpp
+++ b/modules/extra/stats/irc2sql/irc2sql.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2013-2021 Anope Team
+ * (C) 2013-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/irc2sql/irc2sql.h b/modules/extra/stats/irc2sql/irc2sql.h
index 41dfce38d..039839855 100644
--- a/modules/extra/stats/irc2sql/irc2sql.h
+++ b/modules/extra/stats/irc2sql/irc2sql.h
@@ -1,6 +1,6 @@
/*
*
- * (C) 2013-2021 Anope Team
+ * (C) 2013-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/irc2sql/tables.cpp b/modules/extra/stats/irc2sql/tables.cpp
index 28110fa9e..45fa301dd 100644
--- a/modules/extra/stats/irc2sql/tables.cpp
+++ b/modules/extra/stats/irc2sql/tables.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2013-2021 Anope Team
+ * (C) 2013-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -25,52 +25,57 @@ void IRC2SQL::CheckTables()
this->GetTables();
- if (GeoIPDB.equals_ci("country") && !this->HasTable(prefix + "geoip_country"))
- {
- query = "CREATE TABLE `" + prefix + "geoip_country` ("
- "`start` INT UNSIGNED NOT NULL,"
- "`end` INT UNSIGNED NOT NULL,"
- "`countrycode` varchar(2),"
- "`countryname` varchar(50),"
- "PRIMARY KEY `end` (`end`),"
- "KEY `start` (`start`)"
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
- this->RunQuery(query);
- }
- if (GeoIPDB.equals_ci("city") && !this->HasTable(prefix + "geoip_city_blocks"))
+ if (GeoIPDB.equals_ci("country"))
{
- query = "CREATE TABLE `" + prefix + "geoip_city_blocks` ("
- "`start` INT UNSIGNED NOT NULL,"
- "`end` INT UNSIGNED NOT NULL,"
- "`locId` INT UNSIGNED NOT NULL,"
- "PRIMARY KEY `end` (`end`),"
- "KEY `start` (`start`)"
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
- this->RunQuery(query);
-
+ if (!this->HasTable(prefix + "geoip_country"))
+ {
+ query = "CREATE TABLE `" + prefix + "geoip_country` ("
+ "`start` INT UNSIGNED NOT NULL,"
+ "`end` INT UNSIGNED NOT NULL,"
+ "`countrycode` varchar(2),"
+ "`countryname` varchar(50),"
+ "PRIMARY KEY `end` (`end`),"
+ "KEY `start` (`start`)"
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
+ this->RunQuery(query);
+ }
}
- if (GeoIPDB.equals_ci("city") && !this->HasTable(prefix + "geoip_city_location"))
+ else if (GeoIPDB.equals_ci("city"))
{
- query = "CREATE TABLE `" + prefix + "geoip_city_location` ("
- "`locId` INT UNSIGNED NOT NULL,"
- "`country` CHAR(2) NOT NULL,"
- "`region` CHAR(2) NOT NULL,"
- "`city` VARCHAR(50),"
- "`latitude` FLOAT,"
- "`longitude` FLOAT,"
- "`areaCode` INT,"
- "PRIMARY KEY (`locId`)"
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
- this->RunQuery(query);
- }
- if (GeoIPDB.equals_ci("city") && !this->HasTable(prefix + "geoip_city_region"))
- { query = "CREATE TABLE `" + prefix + "geoip_city_region` ("
- "`country` CHAR(2) NOT NULL,"
- "`region` CHAR(2) NOT NULL,"
- "`regionname` VARCHAR(100) NOT NULL,"
- "PRIMARY KEY (`country`,`region`)"
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
- this->RunQuery(query);
+ if (!this->HasTable(prefix + "geoip_city_blocks"))
+ {
+ query = "CREATE TABLE `" + prefix + "geoip_city_blocks` ("
+ "`start` INT UNSIGNED NOT NULL,"
+ "`end` INT UNSIGNED NOT NULL,"
+ "`locId` INT UNSIGNED NOT NULL,"
+ "PRIMARY KEY `end` (`end`),"
+ "KEY `start` (`start`)"
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
+ this->RunQuery(query);
+ }
+ if (!this->HasTable(prefix + "geoip_city_location"))
+ {
+ query = "CREATE TABLE `" + prefix + "geoip_city_location` ("
+ "`locId` INT UNSIGNED NOT NULL,"
+ "`country` CHAR(2) NOT NULL,"
+ "`region` CHAR(2) NOT NULL,"
+ "`city` VARCHAR(50),"
+ "`latitude` FLOAT,"
+ "`longitude` FLOAT,"
+ "`areaCode` INT,"
+ "PRIMARY KEY (`locId`)"
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
+ this->RunQuery(query);
+ }
+ if (!this->HasTable(prefix + "geoip_city_region"))
+ { query = "CREATE TABLE `" + prefix + "geoip_city_region` ("
+ "`country` CHAR(2) NOT NULL,"
+ "`region` CHAR(2) NOT NULL,"
+ "`regionname` VARCHAR(100) NOT NULL,"
+ "PRIMARY KEY (`country`,`region`)"
+ ") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
+ this->RunQuery(query);
+ }
}
if (!this->HasTable(prefix + "server"))
{
diff --git a/modules/extra/stats/irc2sql/utils.cpp b/modules/extra/stats/irc2sql/utils.cpp
index c04b55960..888fc0cb0 100644
--- a/modules/extra/stats/irc2sql/utils.cpp
+++ b/modules/extra/stats/irc2sql/utils.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2013-2021 Anope Team
+ * (C) 2013-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/extra/stats/m_chanstats.cpp b/modules/extra/stats/m_chanstats.cpp
index 92f361f64..4f5ed9e55 100644
--- a/modules/extra/stats/m_chanstats.cpp
+++ b/modules/extra/stats/m_chanstats.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2012-2021 Anope Team
+ * (C) 2012-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/fantasy.cpp b/modules/fantasy.cpp
index 40457f32c..b27227e1a 100644
--- a/modules/fantasy.cpp
+++ b/modules/fantasy.cpp
@@ -1,6 +1,6 @@
/* Fantasy functionality
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_dns.cpp b/modules/m_dns.cpp
index 0800dac01..3bbb4cfc8 100644
--- a/modules/m_dns.cpp
+++ b/modules/m_dns.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_dnsbl.cpp b/modules/m_dnsbl.cpp
index 79fa92a73..fcdd27e27 100644
--- a/modules/m_dnsbl.cpp
+++ b/modules/m_dnsbl.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_helpchan.cpp b/modules/m_helpchan.cpp
index 719796542..68d7ef06b 100644
--- a/modules/m_helpchan.cpp
+++ b/modules/m_helpchan.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_httpd.cpp b/modules/m_httpd.cpp
index 56c543e71..63bfe7fd4 100644
--- a/modules/m_httpd.cpp
+++ b/modules/m_httpd.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_proxyscan.cpp b/modules/m_proxyscan.cpp
index 990eee620..c849d696e 100644
--- a/modules/m_proxyscan.cpp
+++ b/modules/m_proxyscan.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_redis.cpp b/modules/m_redis.cpp
index 93f229ad5..b617c8837 100644
--- a/modules/m_redis.cpp
+++ b/modules/m_redis.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_rewrite.cpp b/modules/m_rewrite.cpp
index 3da55bb5f..5d8310ef3 100644
--- a/modules/m_rewrite.cpp
+++ b/modules/m_rewrite.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_sasl.cpp b/modules/m_sasl.cpp
index db0ec3d17..9c754ec80 100644
--- a/modules/m_sasl.cpp
+++ b/modules/m_sasl.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2014-2021 Anope Team
+ * (C) 2014-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_xmlrpc.cpp b/modules/m_xmlrpc.cpp
index bb929e954..e959bcb1c 100644
--- a/modules/m_xmlrpc.cpp
+++ b/modules/m_xmlrpc.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2010-2021 Anope Team
+ * (C) 2010-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/m_xmlrpc_main.cpp b/modules/m_xmlrpc_main.cpp
index 2a71c13b7..248d7d0c7 100644
--- a/modules/m_xmlrpc_main.cpp
+++ b/modules/m_xmlrpc_main.cpp
@@ -1,6 +1,6 @@
/*
*
- * (C) 2010-2021 Anope Team
+ * (C) 2010-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/ns_maxemail.cpp b/modules/ns_maxemail.cpp
index 3d5dec0c7..16c66baa7 100644
--- a/modules/ns_maxemail.cpp
+++ b/modules/ns_maxemail.cpp
@@ -1,7 +1,7 @@
/* ns_maxemail.cpp - Limit the amount of times an email address
* can be used for a NickServ account.
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Included in the Anope module pack since Anope 1.7.9
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp
index 7f86e9e0c..439aaf117 100644
--- a/modules/protocol/bahamut.cpp
+++ b/modules/protocol/bahamut.cpp
@@ -1,6 +1,6 @@
/* Bahamut functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp
index 8d9267438..7c3d98a63 100644
--- a/modules/protocol/hybrid.cpp
+++ b/modules/protocol/hybrid.cpp
@@ -1,6 +1,6 @@
/* ircd-hybrid protocol module. Minimum supported version of ircd-hybrid is 8.2.23.
*
- * (C) 2003-2021 Anope Team <team@anope.org>
+ * (C) 2003-2022 Anope Team <team@anope.org>
* (C) 2012-2020 ircd-hybrid development team
*
* Please read COPYING and README for further details.
@@ -280,16 +280,30 @@ class HybridProto : public IRCDProto
if (ident.empty() || ident.length() > Config->GetBlock("networkinfo")->Get<unsigned>("userlen"))
return false;
- Anope::string chars = "~}|{ `_^]\\[ .-$";
+ /*
+ * If the user name begins with a tilde (~), make sure there is at least
+ * one succeeding character.
+ */
+ unsigned i = ident[0] == '~';
+ if (i >= ident.length())
+ return false;
+
+ /* User names may not start with a '-', '_', or '.'. */
+ const char &a = ident[i];
+ if (a == '-' || a == '_' || a == '.')
+ return false;
- for (unsigned i = 0; i < ident.length(); ++i)
+ for (i = 0; i < ident.length(); ++i)
{
const char &c = ident[i];
- if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))
+ /* A tilde can only be used as the first character of a user name. */
+ if (c == '~' && i == 0)
continue;
- if (chars.find(c) != Anope::string::npos)
+ if ((c >= 'A' && c <= 'Z') ||
+ (c >= 'a' && c <= 'z') ||
+ (c >= '0' && c <= '9') || c == '-' || c == '_' || c == '.')
continue;
return false;
diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp
index 842db8db7..206cdfe1e 100644
--- a/modules/protocol/inspircd.cpp
+++ b/modules/protocol/inspircd.cpp
@@ -1,6 +1,6 @@
/* InspIRCd functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp
index 5b41b3d7f..f24475d69 100644
--- a/modules/protocol/ngircd.cpp
+++ b/modules/protocol/ngircd.cpp
@@ -1,7 +1,7 @@
/* ngIRCd Protocol module for Anope IRC Services
*
* (C) 2011-2012, 2014 Alexander Barton <alex@barton.de>
- * (C) 2011-2021 Anope Team <team@anope.org>
+ * (C) 2011-2022 Anope Team <team@anope.org>
*
* Please read COPYING and README for further details.
*
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index 5884ed831..d9b8c0fa4 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -1,6 +1,6 @@
/* Plexus 3+ IRCD functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 2b62b1bc2..68f5f29ab 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -1,6 +1,6 @@
/* Ratbox IRCD functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/protocol/solanum.cpp b/modules/protocol/solanum.cpp
index 7da405208..0617069d0 100644
--- a/modules/protocol/solanum.cpp
+++ b/modules/protocol/solanum.cpp
@@ -1,6 +1,6 @@
/* Solanum functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp
index d423874b9..3068f6b13 100644
--- a/modules/protocol/unrealircd.cpp
+++ b/modules/protocol/unrealircd.cpp
@@ -1,6 +1,6 @@
/* UnrealIRCd functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -13,14 +13,18 @@
#include "modules/cs_mode.h"
#include "modules/sasl.h"
+typedef Anope::map<Anope::string> ModData;
static Anope::string UplinkSID;
class UnrealIRCdProto : public IRCDProto
{
public:
- UnrealIRCdProto(Module *creator) : IRCDProto(creator, "UnrealIRCd 4+")
+ PrimitiveExtensibleItem<ModData> ClientModData;
+ PrimitiveExtensibleItem<ModData> ChannelModData;
+
+ UnrealIRCdProto(Module *creator) : IRCDProto(creator, "UnrealIRCd 4+"), ClientModData(creator, "ClientModData"), ChannelModData(creator, "ChannelModData")
{
- DefaultPseudoclientModes = "+Soiq";
+ DefaultPseudoclientModes = "+BioqS";
CanSVSNick = true;
CanSVSJoin = true;
CanSetVHost = true;
@@ -226,7 +230,7 @@ class UnrealIRCdProto : public IRCDProto
SID = SID/UID mode
*/
UplinkSocket::Message() << "PASS :" << Config->Uplinks[Anope::CurrentUplink].password;
- UplinkSocket::Message() << "PROTOCTL " << "NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT MLOCK SID";
+ UplinkSocket::Message() << "PROTOCTL " << "NICKv2 VHP UMODE2 NICKIP SJOIN SJOIN2 SJ3 NOQUIT TKLEXT MLOCK SID MTAGS";
UplinkSocket::Message() << "PROTOCTL " << "EAUTH=" << Me->GetName() << ",,,Anope-" << Anope::VersionShort();
UplinkSocket::Message() << "PROTOCTL " << "SID=" << Me->GetSID();
SendServer(Me);
@@ -552,6 +556,9 @@ namespace UnrealExtban
const Anope::string &mask = e->GetMask();
Anope::string real_mask = mask.substr(3);
+ if (real_mask == "0" && !u->Account()) /* ~a:0 is special and matches all unauthenticated users */
+ return true;
+
return u->Account() && Anope::Match(u->Account()->display, real_mask);
}
};
@@ -570,6 +577,65 @@ namespace UnrealExtban
return !u->fingerprint.empty() && Anope::Match(u->fingerprint, real_mask);
}
};
+
+ class OperclassMatcher : public UnrealExtBan
+ {
+ public:
+ OperclassMatcher(const Anope::string &mname, const Anope::string &mbase, char c) : UnrealExtBan(mname, mbase, c)
+ {
+ }
+
+ bool Matches(User *u, const Entry *e) override
+ {
+ const Anope::string &mask = e->GetMask();
+ Anope::string real_mask = mask.substr(3);
+ ModData *moddata = u->GetExt<ModData>("ClientModData");
+ return moddata != NULL && moddata->find("operclass") != moddata->end() && Anope::Match((*moddata)["operclass"], real_mask);
+ }
+ };
+
+ class TimedBanMatcher : public UnrealExtBan
+ {
+ public:
+ TimedBanMatcher(const Anope::string &mname, const Anope::string &mbase, char c) : UnrealExtBan(mname, mbase, c)
+ {
+ }
+
+ bool Matches(User *u, const Entry *e) override
+ {
+ /* strip down the time (~t:1234:) and call other matchers */
+ const Anope::string &mask = e->GetMask();
+ Anope::string real_mask = mask.substr(3);
+ real_mask = real_mask.substr(real_mask.find(":") + 1);
+ return Entry("BAN", real_mask).Matches(u);
+ }
+ };
+
+ class CountryMatcher : public UnrealExtBan
+ {
+ public:
+ CountryMatcher(const Anope::string &mname, const Anope::string &mbase, char c) : UnrealExtBan(mname, mbase, c)
+ {
+ }
+
+ bool Matches(User *u, const Entry *e) override
+ {
+ const Anope::string &mask = e->GetMask();
+ Anope::string real_mask = mask.substr(3);
+ ModData *moddata = u->GetExt<ModData>("ClientModData");
+ if (moddata == NULL || moddata->find("geoip") == moddata->end())
+ return false;
+
+ sepstream sep((*moddata)["geoip"], '|');/* "cc=PL|cd=Poland" */
+ Anope::string tokenbuf;
+ while (sep.GetToken(tokenbuf))
+ {
+ if (tokenbuf.rfind("cc=", 0) == 0)
+ return (tokenbuf.substr(3, 2) == real_mask);
+ }
+ return false;
+ }
+ };
}
class ChannelModeFlood : public ChannelModeParam
@@ -623,6 +689,45 @@ class ChannelModeFlood : public ChannelModeParam
}
};
+class ChannelModeHistory : public ChannelModeParam /* stolen from inspircd3's ColonDelimitedParamMode */
+{
+ public:
+ ChannelModeHistory(char modeChar) : ChannelModeParam("HISTORY", modeChar, true) { }
+
+ bool IsValid(Anope::string &value) const override
+ {
+ if (value.empty())
+ return false; // empty param is never valid
+
+ Anope::string::size_type pos = value.find(':');
+ if ((pos == Anope::string::npos) || (pos == 0))
+ return false; // no ':' or it's the first char, both are invalid
+
+ Anope::string rest;
+ try
+ {
+ if (convertTo<int>(value, rest, false) <= 0)
+ return false; // negative numbers and zero are invalid
+
+ rest = rest.substr(1);
+ int n;
+ // The part after the ':' is a duration and it
+ // can be in the user friendly "1d3h20m" format, make sure we accept that
+ n = Anope::DoTime(rest);
+
+ if (n <= 0)
+ return false;
+ }
+ catch (const ConvertException &e)
+ {
+ // conversion error, invalid
+ return false;
+ }
+
+ return true;
+ }
+};
+
class ChannelModeUnrealSSL : public ChannelMode
{
public:
@@ -646,7 +751,82 @@ struct IRCDMessageCapab : Message::Capab
{
Anope::string capab = params[i];
- if (capab.find("CHANMODES") != Anope::string::npos)
+ if (capab.find("USERMODES=") != Anope::string::npos)
+ {
+ Anope::string modebuf(capab.begin() + 10, capab.end());
+ for (size_t t = 0, end = modebuf.length(); t < end; ++t)
+ {
+ switch (modebuf[t])
+ {
+ case 'B':
+ ModeManager::AddUserMode(new UserMode("BOT", 'B'));
+ continue;
+ case 'G':
+ ModeManager::AddUserMode(new UserMode("CENSOR", 'G'));
+ continue;
+ case 'H':
+ ModeManager::AddUserMode(new UserModeOperOnly("HIDEOPER", 'H'));
+ continue;
+ case 'I':
+ ModeManager::AddUserMode(new UserModeOperOnly("HIDEIDLE", 'I'));
+ continue;
+ case 'R':
+ ModeManager::AddUserMode(new UserMode("REGPRIV", 'R'));
+ continue;
+ case 'S':
+ ModeManager::AddUserMode(new UserModeOperOnly("PROTECTED", 'S'));
+ continue;
+ case 'T':
+ ModeManager::AddUserMode(new UserMode("NOCTCP", 'T'));
+ continue;
+ case 'W':
+ ModeManager::AddUserMode(new UserModeOperOnly("WHOIS", 'W'));
+ continue;
+ case 'd':
+ ModeManager::AddUserMode(new UserMode("DEAF", 'd'));
+ continue;
+ case 'D':
+ ModeManager::AddUserMode(new UserMode("PRIVDEAF", 'D'));
+ continue;
+ case 'i':
+ ModeManager::AddUserMode(new UserMode("INVIS", 'i'));
+ continue;
+ case 'o':
+ ModeManager::AddUserMode(new UserModeOperOnly("OPER", 'o'));
+ continue;
+ case 'p':
+ ModeManager::AddUserMode(new UserMode("PRIV", 'p'));
+ continue;
+ case 'q':
+ ModeManager::AddUserMode(new UserModeOperOnly("GOD", 'q'));
+ continue;
+ case 'r':
+ ModeManager::AddUserMode(new UserModeNoone("REGISTERED", 'r'));
+ continue;
+ case 's':
+ ModeManager::AddUserMode(new UserModeOperOnly("SNOMASK", 's'));
+ continue;
+ case 't':
+ ModeManager::AddUserMode(new UserModeNoone("VHOST", 't'));
+ continue;
+ case 'w':
+ ModeManager::AddUserMode(new UserMode("WALLOPS", 'w'));
+ continue;
+ case 'x':
+ ModeManager::AddUserMode(new UserMode("CLOAK", 'x'));
+ continue;
+ case 'z':
+ ModeManager::AddUserMode(new UserModeNoone("SSL", 'z'));
+ continue;
+ case 'Z':
+ ModeManager::AddUserMode(new UserMode("SSLPRIV", 'Z'));
+ continue;
+ default:
+ ModeManager::AddUserMode(new UserMode("", modebuf[t]));
+ }
+ }
+ }
+ else if (capab.find("CHANMODES=") != Anope::string::npos)
{
Anope::string modes(capab.begin() + 10, capab.end());
commasepstream sep(modes);
@@ -668,7 +848,9 @@ struct IRCDMessageCapab : Message::Capab
ModeManager::AddChannelMode(new UnrealExtban::RegisteredMatcher("REGISTEREDBAN", "BAN", 'R'));
ModeManager::AddChannelMode(new UnrealExtban::AccountMatcher("ACCOUNTBAN", "BAN", 'a'));
ModeManager::AddChannelMode(new UnrealExtban::FingerprintMatcher("SSLBAN", "BAN", 'S'));
- // also has O for opertype extban, but it doesn't send us users opertypes
+ ModeManager::AddChannelMode(new UnrealExtban::TimedBanMatcher("TIMEDBAN", "BAN", 't'));
+ ModeManager::AddChannelMode(new UnrealExtban::OperclassMatcher("OPERCLASSBAN", "BAN", 'O'));
+ ModeManager::AddChannelMode(new UnrealExtban::CountryMatcher("COUNTRYBAN", "BAN", 'C'));
continue;
case 'e':
ModeManager::AddChannelMode(new ChannelModeList("EXCEPT", 'e'));
@@ -708,6 +890,9 @@ struct IRCDMessageCapab : Message::Capab
case 'l':
ModeManager::AddChannelMode(new ChannelModeParam("LIMIT", 'l', true));
continue;
+ case 'H':
+ ModeManager::AddChannelMode(new ChannelModeHistory('H'));
+ continue;
default:
ModeManager::AddChannelMode(new ChannelModeParam("", modebuf[t], true));
}
@@ -779,7 +964,7 @@ struct IRCDMessageCapab : Message::Capab
ModeManager::AddChannelMode(new ChannelMode("CENSOR", 'G'));
continue;
case 'Z':
- ModeManager::AddChannelMode(new ChannelModeUnrealSSL("", 'Z'));
+ ModeManager::AddChannelMode(new ChannelModeUnrealSSL("ALLSSL", 'Z'));
continue;
case 'd':
// post delayed. means that channel is -D but invisible users still exist.
@@ -788,7 +973,7 @@ struct IRCDMessageCapab : Message::Capab
ModeManager::AddChannelMode(new ChannelMode("DELAYEDJOIN", 'D'));
continue;
case 'P':
- ModeManager::AddChannelMode(new ChannelMode("PERM", 'P'));
+ ModeManager::AddChannelMode(new ChannelModeOperOnly("PERM", 'P'));
continue;
default:
ModeManager::AddChannelMode(new ChannelMode("", modebuf[t]));
@@ -799,6 +984,42 @@ struct IRCDMessageCapab : Message::Capab
{
UplinkSID = capab.substr(4);
}
+ else if (!capab.find("PREFIX=")) /* PREFIX=(qaohv)~&@%+ */
+ {
+ Anope::string modes(capab.begin() + 7, capab.end());
+ reverse(modes.begin(), modes.end()); /* +%@&!)vhoaq( */
+ std::size_t mode_count = modes.find(')');
+ Anope::string mode_prefixes = modes.substr(0, mode_count);
+ Anope::string mode_chars = modes.substr(mode_count+1, mode_count);
+
+ for (size_t t = 0, end = mode_chars.length(); t < end; ++t)
+ {
+ Anope::string mode_name;
+ switch (mode_chars[t])
+ {
+
+ case 'v':
+ mode_name = "VOICE";
+ break;
+ case 'h':
+ mode_name = "HALFOP";
+ break;
+ case 'o':
+ mode_name = "OP";
+ break;
+ case 'a':
+ mode_name = "PROTECT";
+ break;
+ case 'q':
+ mode_name = "OWNER";
+ break;
+ default:
+ mode_name = "";
+ break;
+ }
+ ModeManager::AddChannelMode(new ChannelModeStatus(mode_name, mode_chars[t], mode_prefixes[t], t));
+ }
+ }
}
Message::Capab::Run(source, params, tags);
@@ -843,7 +1064,13 @@ struct IRCDMessageChgName : IRCDMessage
struct IRCDMessageMD : IRCDMessage
{
- IRCDMessageMD(Module *creator) : IRCDMessage(creator, "MD", 3) { SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
+ PrimitiveExtensibleItem<ModData> &ClientModData;
+ PrimitiveExtensibleItem<ModData> &ChannelModData;
+
+ IRCDMessageMD(Module *creator, PrimitiveExtensibleItem<ModData> &clmoddata, PrimitiveExtensibleItem<ModData> &chmoddata) : IRCDMessage(creator, "MD", 3), ClientModData(clmoddata), ChannelModData(chmoddata)
+ {
+ SetFlag(IRCDMESSAGE_SOFT_LIMIT);
+ }
void Run(MessageSource &source, const std::vector<Anope::string> &params, const Anope::map<Anope::string> &tags) override
{
@@ -852,13 +1079,25 @@ struct IRCDMessageMD : IRCDMessage
&var = params[2],
&value = params.size() > 3 ? params[3] : "";
- if (mdtype == "client")
+ if (mdtype == "client") /* can be a server too! */
{
User *u = User::Find(obj);
if (u == NULL)
return;
+ ModData &clientmd = *ClientModData.Require(u);
+
+ if (value.empty())
+ {
+ clientmd.erase(var);
+ Log(LOG_DEBUG) << "Erased client moddata " << var << " from " << u->nick;
+ }
+ else
+ {
+ clientmd[var] = value;
+ Log(LOG_DEBUG) << "Set client moddata " << var << "=\"" << value << "\" to " << u->nick;
+ }
if (var == "certfp" && !value.empty())
{
u->Extend<bool>("ssl");
@@ -866,6 +1105,26 @@ struct IRCDMessageMD : IRCDMessage
FOREACH_MOD(OnFingerprint, (u));
}
}
+ else if (mdtype == "channel")
+ {
+ Channel *c = Channel::Find(obj);
+
+ if (c == NULL)
+ return;
+
+ ModData &channelmd = *ChannelModData.Require(c);
+
+ if (value.empty())
+ {
+ channelmd.erase(var);
+ Log(LOG_DEBUG) << "Erased channel moddata " << var << " from " << c->name;
+ }
+ else
+ {
+ channelmd[var] = value;
+ Log(LOG_DEBUG) << "Set channel moddata " << var << "=\"" << value << "\" to " << c->name;
+ }
+ }
}
};
@@ -1125,6 +1384,19 @@ struct IRCDMessageSID : IRCDMessage
}
};
+static char UnrealSjoinPrefixToModeChar(char sjoin_prefix)
+{
+ switch(sjoin_prefix)
+ {
+ case '*':
+ return ModeManager::GetStatusChar('~');
+ case '~':
+ return ModeManager::GetStatusChar('&');
+ default:
+ return ModeManager::GetStatusChar(sjoin_prefix); /* remaining are regular */
+ }
+}
+
struct IRCDMessageSJoin : IRCDMessage
{
IRCDMessageSJoin(Module *creator) : IRCDMessage(creator, "SJOIN", 3) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); SetFlag(IRCDMESSAGE_SOFT_LIMIT); }
@@ -1168,7 +1440,7 @@ struct IRCDMessageSJoin : IRCDMessage
Message::Join::SJoinUser sju;
/* Get prefixes from the nick */
- for (char ch; (ch = ModeManager::GetStatusChar(buf[0]));)
+ for (char ch; (ch = UnrealSjoinPrefixToModeChar(buf[0]));)
{
sju.first.AddMode(ch);
buf.erase(buf.begin());
@@ -1371,40 +1643,6 @@ class ProtoUnreal : public Module
bool use_server_side_mlock;
- void AddModes()
- {
- ModeManager::AddChannelMode(new ChannelModeStatus("VOICE", 'v', '+', 0));
- ModeManager::AddChannelMode(new ChannelModeStatus("HALFOP", 'h', '%', 1));
- ModeManager::AddChannelMode(new ChannelModeStatus("OP", 'o', '@', 2));
- /* Unreal sends +q as * and +a as ~ */
- ModeManager::AddChannelMode(new ChannelModeStatus("PROTECT", 'a', '~', 3));
- ModeManager::AddChannelMode(new ChannelModeStatus("OWNER", 'q', '*', 4));
-
- /* Add user modes */
- ModeManager::AddUserMode(new UserMode("BOT", 'B'));
- ModeManager::AddUserMode(new UserMode("CENSOR", 'G'));
- ModeManager::AddUserMode(new UserModeOperOnly("HIDEOPER", 'H'));
- ModeManager::AddUserMode(new UserModeOperOnly("HIDEIDLE", 'I'));
- ModeManager::AddUserMode(new UserMode("REGPRIV", 'R'));
- ModeManager::AddUserMode(new UserModeOperOnly("PROTECTED", 'S'));
- ModeManager::AddUserMode(new UserMode("NOCTCP", 'T'));
- ModeManager::AddUserMode(new UserMode("WEBTV", 'V'));
- ModeManager::AddUserMode(new UserModeOperOnly("WHOIS", 'W'));
- ModeManager::AddUserMode(new UserMode("DEAF", 'd'));
- ModeManager::AddUserMode(new UserModeOperOnly("GLOBOPS", 'g'));
- ModeManager::AddUserMode(new UserModeOperOnly("HELPOP", 'h'));
- ModeManager::AddUserMode(new UserMode("INVIS", 'i'));
- ModeManager::AddUserMode(new UserModeOperOnly("OPER", 'o'));
- ModeManager::AddUserMode(new UserMode("PRIV", 'p'));
- ModeManager::AddUserMode(new UserModeOperOnly("GOD", 'q'));
- ModeManager::AddUserMode(new UserModeNoone("REGISTERED", 'r'));
- ModeManager::AddUserMode(new UserModeOperOnly("SNOMASK", 's'));
- ModeManager::AddUserMode(new UserModeNoone("VHOST", 't'));
- ModeManager::AddUserMode(new UserMode("WALLOPS", 'w'));
- ModeManager::AddUserMode(new UserMode("CLOAK", 'x'));
- ModeManager::AddUserMode(new UserModeNoone("SSL", 'z'));
- }
-
public:
ProtoUnreal(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PROTOCOL | VENDOR),
ircd_proto(this),
@@ -1413,13 +1651,13 @@ class ProtoUnreal : public Module
message_privmsg(this), message_quit(this), message_squit(this), message_stats(this), message_time(this),
message_version(this), message_whois(this),
- message_capab(this), message_chghost(this), message_chgident(this), message_chgname(this), message_md(this), message_mode(this, "MODE"),
+ message_capab(this), message_chghost(this), message_chgident(this), message_chgname(this),
+ message_md(this, ircd_proto.ClientModData, ircd_proto.ChannelModData),message_mode(this, "MODE"),
message_svsmode(this, "SVSMODE"), message_svs2mode(this, "SVS2MODE"), message_netinfo(this), message_nick(this), message_pong(this),
message_sasl(this), message_sdesc(this), message_sethost(this), message_setident(this), message_setname(this), message_server(this),
message_sid(this), message_sjoin(this), message_topic(this), message_uid(this), message_umode2(this)
{
- this->AddModes();
}
void Prioritize() override
@@ -1493,6 +1731,13 @@ class ProtoUnreal : public Module
return EVENT_CONTINUE;
}
+
+ void OnChannelUnban(User *u, ChannelInfo *ci) override
+ {
+ UplinkSocket::Message(ci->WhoSends()) << "SVS2MODE " << ci->c->name << " -b " << u->GetUID();
+ /* Unreal will remove all matching bans for us regardless of our internal matching.
+ Don't use Message(Me) here as certain Unreal versions will always respond with TS-less MODE message. */
+ }
};
MODULE_INIT(ProtoUnreal)
diff --git a/modules/pseudoclients/botserv.cpp b/modules/pseudoclients/botserv.cpp
index b379293c8..4b3148eeb 100644
--- a/modules/pseudoclients/botserv.cpp
+++ b/modules/pseudoclients/botserv.cpp
@@ -1,6 +1,6 @@
/* BotServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/chanserv.cpp b/modules/pseudoclients/chanserv.cpp
index 2c10dc3dd..7aefcc8f1 100644
--- a/modules/pseudoclients/chanserv.cpp
+++ b/modules/pseudoclients/chanserv.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/global.cpp b/modules/pseudoclients/global.cpp
index 9285f3845..91c5b8e70 100644
--- a/modules/pseudoclients/global.cpp
+++ b/modules/pseudoclients/global.cpp
@@ -1,6 +1,6 @@
/* Global core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/hostserv.cpp b/modules/pseudoclients/hostserv.cpp
index 6c510ecfc..d26c6d9ba 100644
--- a/modules/pseudoclients/hostserv.cpp
+++ b/modules/pseudoclients/hostserv.cpp
@@ -1,6 +1,6 @@
/* HostServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/memoserv.cpp b/modules/pseudoclients/memoserv.cpp
index f04681fd5..c58731609 100644
--- a/modules/pseudoclients/memoserv.cpp
+++ b/modules/pseudoclients/memoserv.cpp
@@ -1,6 +1,6 @@
/* MemoServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp
index 6095e7477..7d36ba7a1 100644
--- a/modules/pseudoclients/nickserv.cpp
+++ b/modules/pseudoclients/nickserv.cpp
@@ -1,6 +1,6 @@
/* NickServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/pseudoclients/operserv.cpp b/modules/pseudoclients/operserv.cpp
index afacb6d52..66bc8aaff 100644
--- a/modules/pseudoclients/operserv.cpp
+++ b/modules/pseudoclients/operserv.cpp
@@ -1,6 +1,6 @@
/* OperServ core functions
*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/access.cpp b/modules/webcpanel/pages/chanserv/access.cpp
index 5da811b4b..51833b50c 100644
--- a/modules/webcpanel/pages/chanserv/access.cpp
+++ b/modules/webcpanel/pages/chanserv/access.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/access.h b/modules/webcpanel/pages/chanserv/access.h
index 016b76080..9603e33f6 100644
--- a/modules/webcpanel/pages/chanserv/access.h
+++ b/modules/webcpanel/pages/chanserv/access.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/akick.cpp b/modules/webcpanel/pages/chanserv/akick.cpp
index fbb2a06c1..77ce16838 100644
--- a/modules/webcpanel/pages/chanserv/akick.cpp
+++ b/modules/webcpanel/pages/chanserv/akick.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/akick.h b/modules/webcpanel/pages/chanserv/akick.h
index fac5df94c..a6cf01341 100644
--- a/modules/webcpanel/pages/chanserv/akick.h
+++ b/modules/webcpanel/pages/chanserv/akick.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/drop.cpp b/modules/webcpanel/pages/chanserv/drop.cpp
index 18a832397..ab295d1c8 100644
--- a/modules/webcpanel/pages/chanserv/drop.cpp
+++ b/modules/webcpanel/pages/chanserv/drop.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/drop.h b/modules/webcpanel/pages/chanserv/drop.h
index 334b2f843..91eb93c6d 100644
--- a/modules/webcpanel/pages/chanserv/drop.h
+++ b/modules/webcpanel/pages/chanserv/drop.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/info.cpp b/modules/webcpanel/pages/chanserv/info.cpp
index dade84de2..1b89f7ed7 100644
--- a/modules/webcpanel/pages/chanserv/info.cpp
+++ b/modules/webcpanel/pages/chanserv/info.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/info.h b/modules/webcpanel/pages/chanserv/info.h
index 3a581387a..306a0dae6 100644
--- a/modules/webcpanel/pages/chanserv/info.h
+++ b/modules/webcpanel/pages/chanserv/info.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/modes.cpp b/modules/webcpanel/pages/chanserv/modes.cpp
index ffc6bc9a6..5a4461699 100644
--- a/modules/webcpanel/pages/chanserv/modes.cpp
+++ b/modules/webcpanel/pages/chanserv/modes.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/modes.h b/modules/webcpanel/pages/chanserv/modes.h
index e1b2a0e90..9c81a2dd8 100644
--- a/modules/webcpanel/pages/chanserv/modes.h
+++ b/modules/webcpanel/pages/chanserv/modes.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/set.cpp b/modules/webcpanel/pages/chanserv/set.cpp
index c27d9b233..4fe81b17b 100644
--- a/modules/webcpanel/pages/chanserv/set.cpp
+++ b/modules/webcpanel/pages/chanserv/set.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/set.h b/modules/webcpanel/pages/chanserv/set.h
index c1ab5d56d..4c4f12b26 100644
--- a/modules/webcpanel/pages/chanserv/set.h
+++ b/modules/webcpanel/pages/chanserv/set.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/utils.cpp b/modules/webcpanel/pages/chanserv/utils.cpp
index f8a43d07d..e6ab3d862 100644
--- a/modules/webcpanel/pages/chanserv/utils.cpp
+++ b/modules/webcpanel/pages/chanserv/utils.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/chanserv/utils.h b/modules/webcpanel/pages/chanserv/utils.h
index b63b027b5..bc8afba70 100644
--- a/modules/webcpanel/pages/chanserv/utils.h
+++ b/modules/webcpanel/pages/chanserv/utils.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/confirm.cpp b/modules/webcpanel/pages/confirm.cpp
index 06a307beb..da91b1be8 100644
--- a/modules/webcpanel/pages/confirm.cpp
+++ b/modules/webcpanel/pages/confirm.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/confirm.h b/modules/webcpanel/pages/confirm.h
index a5e53943c..a596a92ba 100644
--- a/modules/webcpanel/pages/confirm.h
+++ b/modules/webcpanel/pages/confirm.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/hostserv/request.cpp b/modules/webcpanel/pages/hostserv/request.cpp
index 9c0b6e56f..013e8658e 100644
--- a/modules/webcpanel/pages/hostserv/request.cpp
+++ b/modules/webcpanel/pages/hostserv/request.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/hostserv/request.h b/modules/webcpanel/pages/hostserv/request.h
index 775c8ab94..12d906579 100644
--- a/modules/webcpanel/pages/hostserv/request.h
+++ b/modules/webcpanel/pages/hostserv/request.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/index.cpp b/modules/webcpanel/pages/index.cpp
index ce535fac1..2eee59e26 100644
--- a/modules/webcpanel/pages/index.cpp
+++ b/modules/webcpanel/pages/index.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/index.h b/modules/webcpanel/pages/index.h
index 0b9bb69ad..5bb63ec12 100644
--- a/modules/webcpanel/pages/index.h
+++ b/modules/webcpanel/pages/index.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/logout.cpp b/modules/webcpanel/pages/logout.cpp
index 6e34e2882..931537aff 100644
--- a/modules/webcpanel/pages/logout.cpp
+++ b/modules/webcpanel/pages/logout.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/logout.h b/modules/webcpanel/pages/logout.h
index 78338f947..2bff7b6cb 100644
--- a/modules/webcpanel/pages/logout.h
+++ b/modules/webcpanel/pages/logout.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/memoserv/memos.cpp b/modules/webcpanel/pages/memoserv/memos.cpp
index fb5e36312..090f6af11 100644
--- a/modules/webcpanel/pages/memoserv/memos.cpp
+++ b/modules/webcpanel/pages/memoserv/memos.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/memoserv/memos.h b/modules/webcpanel/pages/memoserv/memos.h
index dadbd5639..78fdaa10c 100644
--- a/modules/webcpanel/pages/memoserv/memos.h
+++ b/modules/webcpanel/pages/memoserv/memos.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/access.cpp b/modules/webcpanel/pages/nickserv/access.cpp
index b35dc4a56..228dcb63c 100644
--- a/modules/webcpanel/pages/nickserv/access.cpp
+++ b/modules/webcpanel/pages/nickserv/access.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/access.h b/modules/webcpanel/pages/nickserv/access.h
index 03c0268c7..743a9cbd7 100644
--- a/modules/webcpanel/pages/nickserv/access.h
+++ b/modules/webcpanel/pages/nickserv/access.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/alist.cpp b/modules/webcpanel/pages/nickserv/alist.cpp
index f187a568c..bc3bf0bfc 100644
--- a/modules/webcpanel/pages/nickserv/alist.cpp
+++ b/modules/webcpanel/pages/nickserv/alist.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/alist.h b/modules/webcpanel/pages/nickserv/alist.h
index bcbe33385..fcd8a4f6c 100644
--- a/modules/webcpanel/pages/nickserv/alist.h
+++ b/modules/webcpanel/pages/nickserv/alist.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/cert.cpp b/modules/webcpanel/pages/nickserv/cert.cpp
index 0ab00bc0d..c4308ab08 100644
--- a/modules/webcpanel/pages/nickserv/cert.cpp
+++ b/modules/webcpanel/pages/nickserv/cert.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/cert.h b/modules/webcpanel/pages/nickserv/cert.h
index 1785a8446..fe7b97435 100644
--- a/modules/webcpanel/pages/nickserv/cert.h
+++ b/modules/webcpanel/pages/nickserv/cert.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/info.cpp b/modules/webcpanel/pages/nickserv/info.cpp
index c6d41c399..c03320cdd 100644
--- a/modules/webcpanel/pages/nickserv/info.cpp
+++ b/modules/webcpanel/pages/nickserv/info.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/nickserv/info.h b/modules/webcpanel/pages/nickserv/info.h
index 1b2e43d1b..3e91c929d 100644
--- a/modules/webcpanel/pages/nickserv/info.h
+++ b/modules/webcpanel/pages/nickserv/info.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/operserv/akill.cpp b/modules/webcpanel/pages/operserv/akill.cpp
index 6ef137919..63ab4b8b6 100644
--- a/modules/webcpanel/pages/operserv/akill.cpp
+++ b/modules/webcpanel/pages/operserv/akill.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/operserv/akill.h b/modules/webcpanel/pages/operserv/akill.h
index 2ed2e3b62..cc3c794a1 100644
--- a/modules/webcpanel/pages/operserv/akill.h
+++ b/modules/webcpanel/pages/operserv/akill.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/register.cpp b/modules/webcpanel/pages/register.cpp
index 24de10455..29b37d626 100644
--- a/modules/webcpanel/pages/register.cpp
+++ b/modules/webcpanel/pages/register.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/pages/register.h b/modules/webcpanel/pages/register.h
index b85f0992b..2cad46519 100644
--- a/modules/webcpanel/pages/register.h
+++ b/modules/webcpanel/pages/register.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/static_fileserver.cpp b/modules/webcpanel/static_fileserver.cpp
index 1c706a886..2c890358b 100644
--- a/modules/webcpanel/static_fileserver.cpp
+++ b/modules/webcpanel/static_fileserver.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/static_fileserver.h b/modules/webcpanel/static_fileserver.h
index 79c0468fb..f29fba20b 100644
--- a/modules/webcpanel/static_fileserver.h
+++ b/modules/webcpanel/static_fileserver.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/template_fileserver.cpp b/modules/webcpanel/template_fileserver.cpp
index beee5a390..0d3bbc121 100644
--- a/modules/webcpanel/template_fileserver.cpp
+++ b/modules/webcpanel/template_fileserver.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/template_fileserver.h b/modules/webcpanel/template_fileserver.h
index fe1b5f313..b78b6966f 100644
--- a/modules/webcpanel/template_fileserver.h
+++ b/modules/webcpanel/template_fileserver.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/templates/default/confirm.html b/modules/webcpanel/templates/default/confirm.html
index 8ba324e28..11aa66828 100644
--- a/modules/webcpanel/templates/default/confirm.html
+++ b/modules/webcpanel/templates/default/confirm.html
@@ -39,7 +39,7 @@
<div class="row">
<div class="col-lg-offset-3 col-lg-6">
<div class="footer text-center">
- Anope IRC Services - &copy; 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
+ Anope IRC Services - &copy; 2013-2022 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
</div>
</div>
</div>
diff --git a/modules/webcpanel/templates/default/footer.html b/modules/webcpanel/templates/default/footer.html
index 76a79804b..6b1bc3ffa 100644
--- a/modules/webcpanel/templates/default/footer.html
+++ b/modules/webcpanel/templates/default/footer.html
@@ -5,7 +5,7 @@
<div class="row">
<div class="col-lg-12">
<div class="footer text-center">
- Anope IRC Services - &copy; 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
+ Anope IRC Services - &copy; 2013-2022 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
</div>
</div>
</div>
diff --git a/modules/webcpanel/templates/default/login.html b/modules/webcpanel/templates/default/login.html
index a20baa3d5..2b735cfa5 100644
--- a/modules/webcpanel/templates/default/login.html
+++ b/modules/webcpanel/templates/default/login.html
@@ -43,7 +43,7 @@
<div class="row">
<div class="col-lg-offset-3 col-lg-6">
<div class="footer text-center">
- Anope IRC Services - &copy; 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
+ Anope IRC Services - &copy; 2013-2022 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
</div>
</div>
</div>
diff --git a/modules/webcpanel/templates/default/register.html b/modules/webcpanel/templates/default/register.html
index 240ae2aaa..c601db849 100644
--- a/modules/webcpanel/templates/default/register.html
+++ b/modules/webcpanel/templates/default/register.html
@@ -53,7 +53,7 @@
<div class="row">
<div class="col-lg-offset-3 col-lg-6">
<div class="footer text-center">
- Anope IRC Services - &copy; 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
+ Anope IRC Services - &copy; 2013-2022 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a>
</div>
</div>
</div>
diff --git a/modules/webcpanel/webcpanel.cpp b/modules/webcpanel/webcpanel.cpp
index 210d84d2f..0c608857d 100644
--- a/modules/webcpanel/webcpanel.cpp
+++ b/modules/webcpanel/webcpanel.cpp
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
diff --git a/modules/webcpanel/webcpanel.h b/modules/webcpanel/webcpanel.h
index 80b468ca8..d1ae8317f 100644
--- a/modules/webcpanel/webcpanel.h
+++ b/modules/webcpanel/webcpanel.h
@@ -1,5 +1,5 @@
/*
- * (C) 2003-2021 Anope Team
+ * (C) 2003-2022 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.