summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 17:37:35 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 17:37:35 +0000
commit664ca1bbf2517b0cb46ef85167facbb981a78c5c (patch)
treef61e47840cca0d711aac4c512b15aec6cb822d32
parentefa7c81ca8494e310e35d77bfb9b2aaff9eba484 (diff)
Fixed MLOCK locked mode removal getting priority over DEFCON locked
mode setting. git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2485 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--src/chanserv.c6
-rw-r--r--src/operserv.c2
-rw-r--r--version.log5
4 files changed, 10 insertions, 4 deletions
diff --git a/Changes b/Changes
index 4da0957ad..ba149e45b 100644
--- a/Changes
+++ b/Changes
@@ -14,6 +14,7 @@ Provided by Anope Dev. <team@anope.org> - 2009
08/27 F Fixed services sending no or wrong help to opers. [#1103]
08/27 F Fixed services sending no or wrong help to opers. [#1104]
08/29 F Fixed defcon failing to set and remove modes. [#1101]
+08/30 F Fixed MLOCK superseding DEFCON mode lock. [ #00]
Provided by Han` <Han@mefalcon.org> - 2009
07/28 F Updated german language file. [ #00]
diff --git a/src/chanserv.c b/src/chanserv.c
index 5c70edfb9..da9928aeb 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -1202,8 +1202,12 @@ void check_modes(Channel * c)
end--;
modes = 0;
- if (ci)
+ if (ci) {
modes = c->mode & ci->mlock_off;
+ /* Make sure we don't remove a mode just set by defcon.. ~ Viper */
+ if (DefConModesSet)
+ modes &= ~(modes & DefConModesOn);
+ }
if (DefConModesSet)
modes |= c->mode & DefConModesOff;
diff --git a/src/operserv.c b/src/operserv.c
index 46eb4f325..9ef747b88 100644
--- a/src/operserv.c
+++ b/src/operserv.c
@@ -1629,8 +1629,8 @@ void runDefCon(void)
if (DefConChanModes && !DefConModesSet) {
if (DefConChanModes[0] == '+' || DefConChanModes[0] == '-') {
alog("DEFCON: setting %s on all chan's", DefConChanModes);
- do_mass_mode(DefConChanModes);
DefConModesSet = 1;
+ do_mass_mode(DefConChanModes);
}
}
} else {
diff --git a/version.log b/version.log
index f550b983e..e043ea3c1 100644
--- a/version.log
+++ b/version.log
@@ -3,15 +3,16 @@
#
# Please read COPYING and README for further details.
#
-# $Id: version.log 2479 2009-08-28 23:42:16Z adam- $
+# $Id$
VERSION_MAJOR="1"
VERSION_MINOR="8"
VERSION_PATCH="2"
VERSION_EXTRA="-svn"
-VERSION_BUILD="2480"
+VERSION_BUILD="2485"
# $Log$ # Changes since 1.8.2 Release
+#Revision 2485 - Fixed MLOCK locked mode removal getting priority over DEFCON locked mode setting.
#Revision 2480 - Fixed defcon not setting modes on newly created unregged channels and failing to force remove defcon-locked modes.
#Revision 2479 - Updated German language file
#Revision 2477 - Corrected help replies for /operserv HELP *NEWS to say services admin is always required