diff options
| author | Sadie Powell <sadie@witchery.services> | 2022-01-12 22:05:59 +0000 |
|---|---|---|
| committer | Sadie Powell <sadie@witchery.services> | 2022-01-12 22:08:35 +0000 |
| commit | a631028660d527f509c3b028cfa5f2903a125077 (patch) | |
| tree | 830ba6644bb312af32847db654bfb842ed44a7cd /modules | |
| parent | 4e5fc9797c2ea285e855f808dc65694d1cdba358 (diff) | |
| parent | 04257b9d6ab0fa1a63ade1d2ad0edc2d08eb74ce (diff) | |
Merge branch '2.0' into 2.1.
Diffstat (limited to 'modules')
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> ¶ms, 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 - © 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a> + Anope IRC Services - © 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 - © 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a> + Anope IRC Services - © 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 - © 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a> + Anope IRC Services - © 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 - © 2013-2021 Anope Team - <a href="https://www.anope.org/">https://www.anope.org/</a> + Anope IRC Services - © 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. |
