mirror of
https://github.com/anope/anope.git
synced 2026-07-06 22:43:12 +02:00
Fixed a number of TS6 issues, mainly related to nicks instead of IDs being given to anope_cmd_mode() in combination with a status change (Bug #1096). Also Fixed a small bug in os_oline.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2495 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
@@ -15,6 +15,7 @@ Provided by Anope Dev. <team@anope.org> - 2009
|
||||
08/27 F Fixed services sending no or wrong help to opers. [#1104]
|
||||
08/29 F Fixed defcon failing to set and remove modes. [#1101]
|
||||
08/30 F Fixed MLOCK superseding DEFCON mode lock. [ #00]
|
||||
09/09 F Fixed number of TS6 compatibility issues. [#1096]
|
||||
|
||||
Provided by Han` <Han@mefalcon.org> - 2009
|
||||
07/28 F Updated german language file. [ #00]
|
||||
|
||||
@@ -265,6 +265,10 @@ typedef enum { false, true } boolean;
|
||||
|
||||
/* Protocol tweaks */
|
||||
|
||||
/* If the IRCd supports TS6 / p10 and it s being used, this selects the uid instead of the nick.. */
|
||||
#define GET_USER(u) ((ircd->p10 || (UseTS6 && ircd->ts6)) ? (u->uid ? u->uid : u->nick) : u->nick)
|
||||
#define GET_BOT(bot) ((ircd->p10 || (UseTS6 && ircd->ts6)) ? (find_uid(bot) ? find_uid(bot)->uid : bot) : bot)
|
||||
|
||||
typedef struct ircdvars_ IRCDVar;
|
||||
typedef struct ircdcapab_ IRCDCAPAB;
|
||||
|
||||
|
||||
+2
-2
@@ -1078,13 +1078,13 @@ void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode,
|
||||
av[0] = ci->name;
|
||||
av[1] = buf;
|
||||
av[2] = mode;
|
||||
av[3] = nick;
|
||||
av[3] = GET_USER(u);
|
||||
ac = 4;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[2], av[3]);
|
||||
} else {
|
||||
av[0] = ci->name;
|
||||
av[1] = mode;
|
||||
av[2] = nick;
|
||||
av[2] = GET_USER(u);
|
||||
ac = 3;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[1], av[2]);
|
||||
}
|
||||
|
||||
+9
-9
@@ -1477,7 +1477,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_OWNER;
|
||||
}
|
||||
@@ -1486,14 +1486,14 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_PROTECT;
|
||||
}
|
||||
if ((add_modes & CUS_OP) && !(status & CUS_OP)) {
|
||||
strcat(modebuf, "o");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
rem_modes |= CUS_DEOPPED;
|
||||
} else {
|
||||
add_modes &= ~CUS_OP;
|
||||
@@ -1501,14 +1501,14 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
if ((add_modes & CUS_HALFOP) && !(status & CUS_HALFOP)) {
|
||||
strcat(modebuf, "h");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_HALFOP;
|
||||
}
|
||||
if ((add_modes & CUS_VOICE) && !(status & CUS_VOICE)) {
|
||||
strcat(modebuf, "v");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_VOICE;
|
||||
}
|
||||
@@ -1520,25 +1520,25 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
if (rem_modes & CUS_PROTECT) {
|
||||
tmp = stripModePrefix(ircd->adminset);
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
if (rem_modes & CUS_OP) {
|
||||
strcat(modebuf, "o");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
add_modes |= CUS_DEOPPED;
|
||||
}
|
||||
if (rem_modes & CUS_HALFOP) {
|
||||
strcat(modebuf, "h");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+24
-24
@@ -1268,13 +1268,13 @@ int check_valid_admin(User * user, Channel * chan, int servermode)
|
||||
if (servermode && !check_access(user, chan->ci, CA_AUTOPROTECT)) {
|
||||
notice_lang(s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s",
|
||||
ircd->adminunset, user->nick);
|
||||
ircd->adminunset, GET_USER(user));
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (check_access(user, chan->ci, CA_AUTODEOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s",
|
||||
ircd->adminunset, user->nick);
|
||||
ircd->adminunset, GET_USER(user));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1305,40 +1305,40 @@ int check_valid_op(User * user, Channel * chan, int servermode)
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%so%s %s %s %s", ircd->adminunset,
|
||||
tmp, user->nick,
|
||||
user->nick, user->nick);
|
||||
tmp, GET_USER(user),
|
||||
GET_USER(user), GET_USER(user));
|
||||
free(tmp);
|
||||
} else {
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%sho%s %s %s %s %s",
|
||||
ircd->adminunset, tmp,
|
||||
user->nick, user->nick, user->nick,
|
||||
user->nick);
|
||||
GET_USER(user), GET_USER(user), GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
}
|
||||
} else if (!ircd->owner && ircd->protect) {
|
||||
if (check_access(user, chan->ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%so %s %s", ircd->adminunset,
|
||||
user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user));
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%soh %s %s %s", ircd->adminunset,
|
||||
user->nick, user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user), GET_USER(user));
|
||||
}
|
||||
} else {
|
||||
if (check_access(user, chan->ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"-ho %s %s", user->nick, user->nick);
|
||||
"-ho %s %s", GET_USER(user), GET_USER(user));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1349,16 +1349,16 @@ int check_valid_op(User * user, Channel * chan, int servermode)
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%sho%s %s %s %s %s", ircd->adminunset,
|
||||
tmp, user->nick, user->nick,
|
||||
user->nick, user->nick);
|
||||
tmp, GET_USER(user), GET_USER(user),
|
||||
GET_USER(user), GET_USER(user));
|
||||
free(tmp);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-ho %s %s",
|
||||
user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user));
|
||||
}
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1383,7 +1383,7 @@ int check_should_op(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOOP)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+o %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1406,7 +1406,7 @@ int check_should_voice(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOVOICE)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+v %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+v %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1423,7 +1423,7 @@ int check_should_halfop(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+h %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+h %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1443,8 +1443,8 @@ int check_should_owner(User * user, char *chan)
|
||||
if (((ci->flags & CI_SECUREFOUNDER) && is_real_founder(user, ci))
|
||||
|| (!(ci->flags & CI_SECUREFOUNDER) && is_founder(user, ci))) {
|
||||
tmp = stripModePrefix(ircd->ownerset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
return 1;
|
||||
}
|
||||
@@ -1464,8 +1464,8 @@ int check_should_protect(User * user, char *chan)
|
||||
|
||||
if (check_access(user, ci, CA_AUTOPROTECT)) {
|
||||
tmp = stripModePrefix(ircd->adminset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
return 1;
|
||||
}
|
||||
@@ -1701,7 +1701,7 @@ void restore_topic(char *chan)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, chan, c->creation_time);
|
||||
anope_cmd_mode(NULL, chan, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, chan, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, c->topic_setter,
|
||||
@@ -1763,7 +1763,7 @@ int check_topiclock(Channel * c, time_t topic_time)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, c->name, c->creation_time);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+11
-11
@@ -213,13 +213,13 @@ int do_clear(User * u)
|
||||
av[2] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+3] = cu->user->nick;
|
||||
av[i+3] = GET_USER(cu->user);
|
||||
ac = 3 + i;
|
||||
} else {
|
||||
av[1] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+2] = cu->user->nick;
|
||||
av[i+2] = GET_USER(cu->user);
|
||||
ac = 2 + i;
|
||||
}
|
||||
|
||||
@@ -240,8 +240,8 @@ int do_clear(User * u)
|
||||
snprintf(tmp, BUFSIZE, "-%s%s%s", (isop ? "o" : ""), (isadmin ?
|
||||
ircd->adminunset+1 : ""), (isown ? ircd->ownerunset+1 : ""));
|
||||
/* We need to send the IRCd a nick for every mode.. - Viper */
|
||||
snprintf(tmp2, BUFSIZE, "%s %s %s", (isop ? cu->user->nick : ""),
|
||||
(isadmin ? cu->user->nick : ""), (isown ? cu->user->nick : ""));
|
||||
snprintf(tmp2, BUFSIZE, "%s %s %s", (isop ? GET_USER(cu->user) : ""),
|
||||
(isadmin ? GET_USER(cu->user) : ""), (isown ? GET_USER(cu->user) : ""));
|
||||
|
||||
if (ircdcap->tsmode) {
|
||||
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
|
||||
@@ -249,7 +249,7 @@ int do_clear(User * u)
|
||||
av[2] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+3] = cu->user->nick;
|
||||
av[i+3] = GET_USER(cu->user);
|
||||
ac = 3 + i;
|
||||
|
||||
anope_cmd_mode(whosends(ci), av[0], "%s %s", av[2], tmp2);
|
||||
@@ -257,7 +257,7 @@ int do_clear(User * u)
|
||||
av[1] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+2] = cu->user->nick;
|
||||
av[i+2] = GET_USER(cu->user);
|
||||
ac = 2 + i;
|
||||
|
||||
anope_cmd_mode(whosends(ci), av[0], "%s %s", av[1], tmp2);
|
||||
@@ -283,12 +283,12 @@ int do_clear(User * u)
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = buf;
|
||||
av[2] = sstrdup("-h");
|
||||
av[3] = sstrdup(cu->user->nick);
|
||||
av[3] = sstrdup(GET_USER(cu->user));
|
||||
ac = 4;
|
||||
} else {
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup("-h");
|
||||
av[2] = sstrdup(cu->user->nick);
|
||||
av[2] = sstrdup(GET_USER(cu->user));
|
||||
ac = 3;
|
||||
}
|
||||
|
||||
@@ -337,12 +337,12 @@ int do_clear(User * u)
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = buf;
|
||||
av[2] = sstrdup("-v");
|
||||
av[3] = sstrdup(cu->user->nick);
|
||||
av[3] = sstrdup(GET_USER(cu->user));
|
||||
ac = 4;
|
||||
} else {
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup("-v");
|
||||
av[2] = sstrdup(cu->user->nick);
|
||||
av[2] = sstrdup(GET_USER(cu->user));
|
||||
ac = 3;
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ int do_clear(User * u)
|
||||
for (cu = c->users; cu; cu = next) {
|
||||
next = cu->next;
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup(cu->user->nick);
|
||||
av[1] = sstrdup(GET_USER(cu->user));
|
||||
av[2] = sstrdup(buf);
|
||||
anope_cmd_kick(whosends(ci), av[0], av[1], av[2]);
|
||||
do_kick(s_ChanServ, 3, av);
|
||||
|
||||
+11
-11
@@ -220,7 +220,7 @@ int do_owner(User * u)
|
||||
|
||||
if (!chan) {
|
||||
av[0] = sstrdup(ircd->ownerset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
|
||||
/* Sets the mode to the user on every channels he is on. */
|
||||
|
||||
@@ -228,7 +228,7 @@ int do_owner(User * u)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& is_founder(u, ci)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
av[0], u->nick);
|
||||
av[0], GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 1);
|
||||
}
|
||||
}
|
||||
@@ -249,10 +249,10 @@ int do_owner(User * u)
|
||||
notice_lang(s_ChanServ, u, ACCESS_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
|
||||
av[0] = sstrdup(ircd->ownerset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 1);
|
||||
free(av[0]);
|
||||
}
|
||||
@@ -276,7 +276,7 @@ int do_deowner(User * u)
|
||||
|
||||
if (!chan) {
|
||||
av[0] = sstrdup(ircd->ownerunset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
|
||||
/* Sets the mode to the user on every channels he is on. */
|
||||
|
||||
@@ -284,7 +284,7 @@ int do_deowner(User * u)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& is_founder(u, ci)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
av[0], u->nick);
|
||||
av[0], GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 1);
|
||||
}
|
||||
}
|
||||
@@ -305,10 +305,10 @@ int do_deowner(User * u)
|
||||
notice_lang(s_ChanServ, u, ACCESS_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerunset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
|
||||
av[0] = sstrdup(ircd->ownerunset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 1);
|
||||
free(av[0]);
|
||||
}
|
||||
@@ -341,7 +341,7 @@ int do_util(User * u, CSModeUtil * util)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& check_access(u, ci, util->levelself)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
util->mode, u->nick);
|
||||
util->mode, GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 2);
|
||||
|
||||
if (util->notice && ci->flags & util->notice)
|
||||
@@ -378,10 +378,10 @@ int do_util(User * u, CSModeUtil * util)
|
||||
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", util->mode,
|
||||
u2->nick);
|
||||
GET_USER(u2));
|
||||
|
||||
av[0] = util->mode;
|
||||
av[1] = u2->nick;
|
||||
av[1] = GET_USER(u2);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 3);
|
||||
|
||||
if (util->notice && ci->flags & util->notice)
|
||||
|
||||
@@ -180,11 +180,11 @@ int do_register(User * u)
|
||||
/* On most ircds you do not receive the admin/owner mode till its registered */
|
||||
if (ircd->admin) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->adminset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
}
|
||||
if (ircd->owner && ircd->ownerset) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->ownerset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
}
|
||||
send_event(EVENT_CHAN_REGISTERED, 1, chan);
|
||||
}
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ int do_cs_topic(User * u)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, c->name, c->creation_time);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, u->nick, topic ? topic : "",
|
||||
|
||||
+10
-10
@@ -112,7 +112,7 @@ int do_clearmodes(User * u)
|
||||
continue;
|
||||
}
|
||||
argv[0] = sstrdup("-o");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
free(argv[0]);
|
||||
}
|
||||
@@ -122,7 +122,7 @@ int do_clearmodes(User * u)
|
||||
if (!chan_has_user_status(c, cu->user, CUS_OP))
|
||||
continue;
|
||||
argv[0] = sstrdup("-o");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
anope_cmd_mode(s_OperServ, c->name, "-o %s",
|
||||
cu->user->nick);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
@@ -138,7 +138,7 @@ int do_clearmodes(User * u)
|
||||
continue;
|
||||
}
|
||||
argv[0] = sstrdup("-v");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
free(argv[0]);
|
||||
}
|
||||
@@ -149,7 +149,7 @@ int do_clearmodes(User * u)
|
||||
if (!chan_has_user_status(c, cu->user, CUS_VOICE))
|
||||
continue;
|
||||
argv[0] = sstrdup("-v");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
anope_cmd_mode(s_OperServ, c->name, "-v %s",
|
||||
cu->user->nick);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
@@ -166,7 +166,7 @@ int do_clearmodes(User * u)
|
||||
continue;
|
||||
}
|
||||
argv[0] = sstrdup("-h");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
free(argv[0]);
|
||||
}
|
||||
@@ -176,7 +176,7 @@ int do_clearmodes(User * u)
|
||||
if (!chan_has_user_status(c, cu->user, CUS_HALFOP))
|
||||
continue;
|
||||
argv[0] = sstrdup("-h");
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
anope_cmd_mode(s_OperServ, c->name, "-h %s",
|
||||
cu->user->nick);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
@@ -192,7 +192,7 @@ int do_clearmodes(User * u)
|
||||
continue;
|
||||
}
|
||||
argv[0] = sstrdup(ircd->ownerunset);
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
free(argv[0]);
|
||||
}
|
||||
@@ -202,7 +202,7 @@ int do_clearmodes(User * u)
|
||||
if (!chan_has_user_status(c, cu->user, CUS_OWNER))
|
||||
continue;
|
||||
argv[0] = sstrdup(ircd->ownerunset);
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
anope_cmd_mode(s_OperServ, c->name, "%s %s",
|
||||
ircd->ownerunset, cu->user->nick);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
@@ -219,7 +219,7 @@ int do_clearmodes(User * u)
|
||||
continue;
|
||||
}
|
||||
argv[0] = sstrdup(ircd->adminunset);
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
free(argv[0]);
|
||||
}
|
||||
@@ -229,7 +229,7 @@ int do_clearmodes(User * u)
|
||||
if (!chan_has_user_status(c, cu->user, CUS_PROTECT))
|
||||
continue;
|
||||
argv[0] = sstrdup(ircd->adminunset);
|
||||
argv[1] = cu->user->nick;
|
||||
argv[1] = GET_USER(cu->user);
|
||||
anope_cmd_mode(s_OperServ, c->name, "%s %s",
|
||||
ircd->adminunset, cu->user->nick);
|
||||
chan_set_modes(s_OperServ, c, 2, argv, 0);
|
||||
|
||||
@@ -90,7 +90,6 @@ int do_operoline(User * u)
|
||||
notice_lang(s_OperServ, u, NICK_X_NOT_IN_USE, nick);
|
||||
} else if (u2 && flags[0] == '+') {
|
||||
anope_cmd_svso(s_OperServ, nick, flags);
|
||||
anope_cmd_mode(s_OperServ, nick, "+o");
|
||||
common_svsmode(u2, "+o", NULL);
|
||||
notice_lang(s_OperServ, u2, OPER_OLINE_IRCOP);
|
||||
notice_lang(s_OperServ, u, OPER_OLINE_SUCCESS, flags, nick);
|
||||
|
||||
@@ -148,7 +148,7 @@ int my_cs_appendtopic(User * u)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, c->name, c->creation_time);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, u->nick, topic, c->topic_time);
|
||||
|
||||
+2
-1
@@ -9,9 +9,10 @@ VERSION_MAJOR="1"
|
||||
VERSION_MINOR="8"
|
||||
VERSION_PATCH="2"
|
||||
VERSION_EXTRA="-svn"
|
||||
VERSION_BUILD="2491"
|
||||
VERSION_BUILD="2495"
|
||||
|
||||
# $Log$ # Changes since 1.8.2 Release
|
||||
#Revision 2495 - Fixed a number of TS6 issues, mainly related to nicks instead of IDs being given to anope_cmd_mode() in combination with a status change (Bug #1096). Also Fixed a small bug in os_oline.
|
||||
#Revision 2491 - Fixed typo in install.js so it will correctly detect MySQL 5.1 on Windows
|
||||
#Revision 2485 - Fixed MLOCK locked mode removal getting priority over DEFCON locked mode setting.
|
||||
#Revision 2480 - Fixed defcon not setting modes on newly created unregged channels and failing to force remove defcon-locked modes.
|
||||
|
||||
Reference in New Issue
Block a user