summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-04-03 19:45:24 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-04-03 19:45:24 +0000
commit74c5d989bc85017cb76c33a048cef2aff635caaa (patch)
tree84ccf65e87a760c5c31e1ec30e4f883cd68bc4a1
parent1dec3ee8fb814225e66b843f1d41bd418df7e578 (diff)
Backport of bugfix for bug #1004 from SVN r2003, Modechanges from ulined server are no longer being blocked by SECUREOPS.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2253 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--src/channels.c17
-rw-r--r--version.log3
3 files changed, 14 insertions, 7 deletions
diff --git a/Changes b/Changes
index 693d57850..98424fd96 100644
--- a/Changes
+++ b/Changes
@@ -20,6 +20,7 @@ Provided by Anope Dev. <team@anope.org> - 2009
03/23 F Force a user off a nick when it is suspended. [#1065]
03/23 F Fixed CS SET MLOCK requiring a param to allow clearing. [#1044]
03/30 F Fantasy commands in CTCP ACTIONs will now be ignored. [#1073]
+04/03 F SECUREOPS now igores modechanges from ulined servers. [#1004]
Provided by Adam <Adam@SubZeroIRC.net> - 2009
01/28 F Added internal support for +j channelmodes. [#1001]
diff --git a/src/channels.c b/src/channels.c
index 61786fc93..1aeb2b305 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -302,6 +302,11 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
}
}
+ /* Don't bounce modes from u:lined clients or servers, bug #1004. */
+ user = finduser(source);
+ if ((user && is_ulined(user->server->name)) || is_ulined((char *)source))
+ return;
+
if (check > 0) {
check_modes(chan);
@@ -312,12 +317,12 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
real_ac--;
real_av++;
for (i = 0; i < real_ac; i++) {
- if ((user = finduser(*real_av)) && is_on_chan(chan, user)) {
- if (check < 2)
- chan_set_correct_modes(user, chan, 0);
- else if ((chan->ci->flags) && (chan->ci->flags & CI_SECUREOPS))
- chan_set_correct_modes(user, chan, 0);
- }
+ if ((user = finduser(*real_av)) && is_on_chan(chan, user)) {
+ if (check < 2)
+ chan_set_correct_modes(user, chan, 0);
+ else if ((chan->ci->flags) && (chan->ci->flags & CI_SECUREOPS))
+ chan_set_correct_modes(user, chan, 0);
+ }
real_av++;
}
}
diff --git a/version.log b/version.log
index 553576a43..83fc9c1cc 100644
--- a/version.log
+++ b/version.log
@@ -9,10 +9,11 @@ VERSION_MAJOR="1"
VERSION_MINOR="8"
VERSION_PATCH="0"
VERSION_EXTRA="-svn"
-VERSION_BUILD="2251"
+VERSION_BUILD="2253"
# $Log$ # Changes since 1.8.0 Release
+#Revision 2253 - Backport of bugfix for bug #1004 from SVN r2003, Modechanges from ulined server are no longer being blocked by SECUREOPS.
#Revision 2251 - Fixed non-standard C-style comment.
#Revision 2250 - Updated example.conf regarding removal of the inspirc10 protocol module and SRA requirement for SuperAdmin.
#Revision 2249 - Someone seems to have forgotten about Changes.. added most significant commits to Changes.