summaryrefslogtreecommitdiff
path: root/src/channels.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/channels.c')
-rw-r--r--src/channels.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/channels.c b/src/channels.c
index c29887f97..5fd2340d1 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -236,16 +236,13 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
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 they are in the uline server list we assume they can
+ have the mode - yes woke up in the middle of the night to
+ add this.. - TSL
*/
- if (ircd->servicesmode) {
- if (user->mode & ircd->servicesmode) {
- chan_set_user_status(chan, user, cum->status);
- continue;
- }
+ if (is_ulined(user->server->name)) {
+ chan_set_user_status(chan, user, cum->status);
+ continue;
}
/* Fixes bug #68