diff options
author | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-12-03 06:07:44 +0000 |
---|---|---|
committer | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-12-03 06:07:44 +0000 |
commit | 1aaeba38f4e5f3169ad1f17bbf28ceaae0af9f8a (patch) | |
tree | 22c3896351bc7634005a52958a5c993b1afa3c75 /src/channels.c | |
parent | f18d506cad80b9ed28f02ee33f35332320f3ea04 (diff) |
BUILD : 1.7.6 (469) BUGS : N/A NOTES : 1. ultimate3 setting the wrong channel mode on botserv bots 2. helpserv.c is doxygen ready, did some code clean up 3. Services Clients (+S) now override channel modes (yeah no more deopping NeoStats), this only works on ircds where there is a clear services mode (Unreal, Viagra, Ultimeate2/3) 4. send.c is doxygen ready, did some code clean up 5. commands.c id doxygen ready, did some code clean up
git-svn-id: svn://svn.anope.org/anope/trunk@469 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@323 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/channels.c')
-rw-r--r-- | src/channels.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/channels.c b/src/channels.c index 3dafaf233..0651df12f 100644 --- a/src/channels.c +++ b/src/channels.c @@ -235,6 +235,19 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av, mode, chan->name, user->nick); if (add) { + /* + Okay everyones biggest complaint is that NeoStats or any other + services clients are flagged as services but we still strip their + channel modes when strict is enabled. This lets them keep the mode and + we update our internal user/channel struct - TSL + */ + if (ircd->servicesmode) { + if (user->mode & ircd->servicesmode) { + chan_remove_user_status(chan, user, cum->status); + continue; + } + } + /* Fixes bug #68 - might be a bit ugly but it works, the idea is that since the is_valid function strips out all of the modes there is no point |