summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-05-21 14:33:06 +0000
committerdane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-05-21 14:33:06 +0000
commit433f281f5e49ade17dcca6105afdbda6cd60a97f (patch)
tree6800db2c1680e5413f92f189a12d043cf5221b61
parent5f799bc2b5016c1cb29fc53cbce0171650192288 (diff)
BUILD : 1.7.3 (119) BUGS : 54 NOTES : Allow /CS SUSPEND on registered non-forbidden channels only
git-svn-id: svn://svn.anope.org/anope/trunk@119 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@93 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--chanserv.c18
-rw-r--r--version.log6
3 files changed, 21 insertions, 4 deletions
diff --git a/Changes b/Changes
index e9e08f720..38061849b 100644
--- a/Changes
+++ b/Changes
@@ -5,6 +5,7 @@ Provided by Anope Dev. <dev@anope.org> - 2004
05/21 A New file docs/OLDCHANGES contains all change history. [ #65]
05/21 F Removed threads.c file. [ #64]
05/21 F Check for VHOST capable ircd on HostServAlias induction. [ #56]
+05/21 F Allow /CS SUSPEND on registered channels only. [ #54]
Anope Version 1.7.3
-------------------
diff --git a/chanserv.c b/chanserv.c
index c70bf2362..fcb24d590 100644
--- a/chanserv.c
+++ b/chanserv.c
@@ -6093,7 +6093,7 @@ static int do_forbid(User * u)
return MOD_CONT;
}
-/*************************************************************************/
+ /*************************************************************************/
static int do_suspend(User * u)
{
@@ -6110,10 +6110,22 @@ static int do_suspend(User * u)
CHAN_SUSPEND_SYNTAX));
return MOD_CONT;
}
+
+ /* Only SUSPEND existing channels, otherwise use FORBID (bug #54) */
+ if ((ci = cs_findchan(chan)) == NULL) {
+ notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan);
+ return MOD_CONT;
+ }
+
+ /* You should not SUSPEND a FORBIDEN channel */
+ if (ci->flags & CI_VERBOTEN) {
+ notice_lang(s_ChanServ, u, CHAN_MAY_NOT_BE_REGISTERED, chan);
+ return MOD_CONT;
+ }
+
if (readonly)
notice_lang(s_ChanServ, u, READ_ONLY_MODE);
- if ((ci = cs_findchan(chan)) == NULL)
- ci = makechan(chan);
+
if (ci) {
ci->flags |= CI_SUSPENDED;
ci->forbidby = sstrdup(u->nick);
diff --git a/version.log b/version.log
index 6cbff2c14..ff9525b3e 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="3"
-VERSION_BUILD="118"
+VERSION_BUILD="119"
# $Log$
#
+# BUILD : 1.7.3 (119)
+# BUGS : 54
+# NOTES : Allow /CS SUSPEND on registered non-forbidden channels only
+#
# BUILD : 1.7.3 (118)
# BUGS : 56
# NOTES : Check for VHOST capable ircd on HostServAlias induction.