1
0
mirror of https://github.com/anope/anope.git synced 2026-07-06 13:13:12 +02:00

BUILD : 1.7.5 (430) BUGS : 187, 201, 202 NOTES : Reorder fixes, Obsecure password for chanserv registeration (DrStein), minor tweak to hybrid support (TSL)

git-svn-id: svn://svn.anope.org/anope/trunk@430 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@285 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b
2004-10-30 02:16:09 +00:00
parent a5ef39373a
commit 0038ed05f4
4 changed files with 90 additions and 7 deletions
+3
View File
@@ -68,6 +68,9 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
Provided by DrStein <gacevedo@anope.org> - 2004
10/05 A CS/NS INFO shows the expire time. [ #00]
10/05 A NS GLIST shows the expire time. [ #00]
10/29 F ChanServ XOP reordering fix [#187]
10/29 F ChanServ AKICK reordering fix [#201]
10/29 F ChanServ now requires a more obscure password [#202]
10/27 F MS CHECK to look for the correct sender value. [#200]
10/21 F Updated Spanish language file. [ #00]
10/15 F More Check and trap for forbidden nicks on HS. [#183]
+81 -5
View File
@@ -2686,7 +2686,9 @@ static int do_register(User * u)
nc->
channelmax ? CHAN_EXCEEDED_CHANNEL_LIMIT :
CHAN_REACHED_CHANNEL_LIMIT, nc->channelmax);
} else if (stricmp(u->nick, pass) == 0
|| (StrictPasswords && strlen(pass) < 5)) {
notice_lang(s_ChanServ, u, MORE_OBSCURE_PASSWORD);
} else if (!(ci = makechan(chan))) {
alog("%s: makechan() failed for REGISTER %s", s_ChanServ, chan);
notice_lang(s_ChanServ, u, CHAN_REGISTRATION_FAILED);
@@ -3761,6 +3763,7 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
}
} else if (stricmp(cmd, "DEL") == 0) {
int deleted, a, b;
if (readonly) {
notice_lang(s_ChanServ, u, xmsgs[1]);
return MOD_CONT;
@@ -3775,7 +3778,7 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)) {
int count, deleted, last = -1, perm = 0;
int count, last = -1, perm = 0;
deleted =
process_numlist(nick, &count, xop_del_callback, u, ci,
&last, &perm, ulev, xlev);
@@ -3811,12 +3814,35 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
access = &ci->access[i];
if (!is_servadmin && ulev <= access->level) {
deleted = 0;
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
notice_lang(s_ChanServ, u, xmsgs[8], access->nc->display,
ci->name);
access->nc = NULL;
access->in_use = 0;
deleted = 1;
}
}
if (deleted) {
/* Reordering - DrStein */
for (b = 0; b < ci->accesscount; b++) {
if (ci->access[b].in_use) {
for (a = 0; a < ci->accesscount; a++) {
if (a > b)
break;
if (!ci->access[a].in_use) {
ci->access[a].in_use = 1;
ci->access[a].level = ci->access[b].level;
ci->access[a].nc = ci->access[b].nc;
ci->access[a].last_seen =
ci->access[b].last_seen;
ci->access[b].nc = NULL;
ci->access[b].in_use = 0;
break;
}
}
}
}
}
} else if (stricmp(cmd, "LIST") == 0) {
@@ -4088,7 +4114,7 @@ static int do_access(User * u)
notice_lang(s_ChanServ, u, CHAN_ACCESS_ADDED, nc->display,
ci->name, access->level);
} else if (stricmp(cmd, "DEL") == 0) {
int deleted, a, b;
if (readonly) {
notice_lang(s_ChanServ, u, CHAN_ACCESS_DISABLED);
return MOD_CONT;
@@ -4101,7 +4127,7 @@ static int do_access(User * u)
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)) {
int count, deleted, last = -1, perm = 0;
int count, last = -1, perm = 0;
deleted = process_numlist(nick, &count, access_del_callback, u,
ci, &last, &perm, get_access(u, ci));
if (!deleted) {
@@ -4139,6 +4165,7 @@ static int do_access(User * u)
}
access = &ci->access[i];
if (!is_servadmin && get_access(u, ci) <= access->level) {
deleted = 0;
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
notice_lang(s_ChanServ, u, CHAN_ACCESS_DELETED,
@@ -4146,6 +4173,29 @@ static int do_access(User * u)
alog("%s: %s!%s@%s (level %d) deleted access of %s (group %s) on %s", s_ChanServ, u->nick, u->username, common_get_vhost(u), get_access(u, ci), na->nick, access->nc->display, chan);
access->nc = NULL;
access->in_use = 0;
deleted = 1;
}
}
if (deleted) {
/* Reordering - DrStein */
for (b = 0; b < ci->accesscount; b++) {
if (ci->access[b].in_use) {
for (a = 0; a < ci->accesscount; a++) {
if (a > b)
break;
if (!ci->access[a].in_use) {
ci->access[a].in_use = 1;
ci->access[a].level = ci->access[b].level;
ci->access[a].nc = ci->access[b].nc;
ci->access[a].last_seen =
ci->access[b].last_seen;
ci->access[b].nc = NULL;
ci->access[b].in_use = 0;
break;
}
}
}
}
}
} else if (stricmp(cmd, "LIST") == 0) {
@@ -4603,6 +4653,7 @@ static int do_akick(User * u)
ci->name);
} else if (stricmp(cmd, "DEL") == 0) {
int deleted, a, b;
if (readonly) {
notice_lang(s_ChanServ, u, CHAN_AKICK_DISABLED);
@@ -4616,7 +4667,7 @@ static int do_akick(User * u)
/* Special case: is it a number/list? Only do search if it isn't. */
if (isdigit(*mask) && strspn(mask, "1234567890,-") == strlen(mask)) {
int count, deleted, last = -1;
int count, last = -1;
deleted = process_numlist(mask, &count, akick_del_callback, u,
ci, &last);
if (!deleted) {
@@ -4654,8 +4705,33 @@ static int do_akick(User * u)
}
notice_lang(s_ChanServ, u, CHAN_AKICK_DELETED, mask, chan);
akick_del(u, akick);
deleted = 1;
}
if (deleted) {
/* Reordering - DrStein */
for (b = 0; b < ci->akickcount; b++) {
if (ci->akick[b].flags & AK_USED) {
for (a = 1; a < ci->akickcount; a++) {
if (a > b)
break;
if (!(ci->akick[a].flags & AK_USED)) {
ci->akick[a].flags = ci->akick[b].flags;
if (ci->akick[b].flags & AK_ISNICK) {
ci->akick[a].u.nc = ci->akick[b].u.nc;
} else {
ci->akick[a].u.mask = ci->akick[b].u.mask;
}
ci->akick[a].reason = ci->akick[b].reason;
ci->akick[a].creator = ci->akick[b].creator;
ci->akick[a].addtime = ci->akick[b].addtime;
akick_del(u, &ci->akick[b]);
break;
}
}
}
}
}
} else if (stricmp(cmd, "LIST") == 0) {
int sent_header = 0;
+1 -1
View File
@@ -45,7 +45,7 @@ IRCDVar ircd[] = {
"+io", /* Global alias mode */
"+", /* Used by BotServ Bots */
3, /* Chan Max Symbols */
"-aiklmnpst", /* Modes to Remove */
"-ailmnpst", /* Modes to Remove */
"+o", /* Channel Umode used by Botserv bots */
0, /* SVSNICK */
0, /* Vhost */
+5 -1
View File
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="5"
VERSION_BUILD="429"
VERSION_BUILD="430"
# $Log$
#
# BUILD : 1.7.5 (430)
# BUGS : 187, 201, 202
# NOTES : Reorder fixes, Obsecure password for chanserv registeration (DrStein), minor tweak to hybrid support (TSL)
#
# BUILD : 1.7.5 (429)
# NOTES : Minor fix on example.conf
#