diff options
author | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-16 18:35:51 +0000 |
---|---|---|
committer | trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-16 18:35:51 +0000 |
commit | 4bf0358e8ff03a9b9a31639a3d057f0d679c2f7d (patch) | |
tree | aef4e7306ed9b3de9c9fcf9bc4534584d96a7fd6 /src | |
parent | bafd62e477149e265703abb6d926898fe3705b46 (diff) |
BUILD : 1.7.7 (541) BUGS : 274, 281 NOTES : IRCops are not killed on sqline/sgline when set KillOnSQline or KillOnSGline are enabled, made it so uline servers are except from NOJOIN settings
git-svn-id: svn://svn.anope.org/anope/trunk@541 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@394 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/chanserv.c | 4 | ||||
-rw-r--r-- | src/operserv.c | 16 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/chanserv.c b/src/chanserv.c index 073cb2f2a..c8aad1ade 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1672,6 +1672,10 @@ int check_kick(User * user, char *chan) } } + if (is_ulined(user->server->name)) { + return 0; + } + if (check_access(user, ci, CA_NOJOIN)) { get_idealban(ci, user, mask, sizeof(mask)); reason = getstring(user->na, CHAN_NOT_ALLOWED_TO_JOIN); diff --git a/src/operserv.c b/src/operserv.c index 588331da9..11fe65219 100644 --- a/src/operserv.c +++ b/src/operserv.c @@ -2599,12 +2599,14 @@ int add_sgline(User * u, char *mask, const char *by, const time_t expires, anope_cmd_sgline(entry->mask, entry->reason); if (KillonSGline && !ircd->sglineenforce) { + snprintf(buf, (BUFSIZE - 1), "G-Lined: %s", entry->reason); u2 = firstuser(); while (u2) { next = nextuser(); - if (match_wild_nocase(entry->mask, u2->realname)) { - snprintf(buf, (BUFSIZE - 1), "G-Lined: %s", entry->reason); - kill_user(ServerName, u2->nick, buf); + if (!is_oper(u2)) { + if (match_wild_nocase(entry->mask, u2->realname)) { + kill_user(ServerName, u2->nick, buf); + } } u2 = next; } @@ -3070,12 +3072,14 @@ int add_sqline(User * u, char *mask, const char *by, const time_t expires, sqline(entry->mask, entry->reason); if (KillonSQline) { + snprintf(buf, (BUFSIZE - 1), "Q-Lined: %s", entry->reason); u2 = firstuser(); while (u2) { next = nextuser(); - if (match_wild_nocase(entry->mask, u2->nick)) { - snprintf(buf, (BUFSIZE - 1), "Q-Lined: %s", entry->reason); - kill_user(ServerName, u2->nick, buf); + if (!is_oper(u2)) { + if (match_wild_nocase(entry->mask, u2->nick)) { + kill_user(ServerName, u2->nick, buf); + } } u2 = next; } |