diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-02 20:45:12 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-02 20:45:12 +0000 |
commit | a8ed2b9244ab81f4073bac0070f1329d7d15a7f6 (patch) | |
tree | 3797d16f33d0fab31066f6d6fbf77fb4f5a268b7 /src | |
parent | 4e33836bd5069a153bf7916756f48d7a8cb2696e (diff) |
BUILD : 1.7.8 (590) BUGS : 288 / N/A NOTES : Fixed 288, moved updated all set/unset admin/owner calls to use the ircd protocol files. This needs a fair good test, but it seems all ok, and i cant see anything wrong with it :)
git-svn-id: svn://svn.anope.org/anope/trunk@590 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@440 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/bahamut.c | 2 | ||||
-rw-r--r-- | src/chanserv.c | 57 | ||||
-rw-r--r-- | src/dreamforge.c | 2 | ||||
-rw-r--r-- | src/hybrid.c | 2 | ||||
-rw-r--r-- | src/operserv.c | 11 | ||||
-rw-r--r-- | src/plexus.c | 2 | ||||
-rw-r--r-- | src/ptlink.c | 2 | ||||
-rw-r--r-- | src/rageircd.c | 2 | ||||
-rw-r--r-- | src/ratbox.c | 2 | ||||
-rw-r--r-- | src/solidircd.c | 2 | ||||
-rw-r--r-- | src/ultimate2.c | 2 | ||||
-rw-r--r-- | src/ultimate3.c | 2 | ||||
-rw-r--r-- | src/unreal31.c | 2 | ||||
-rw-r--r-- | src/unreal32.c | 2 | ||||
-rw-r--r-- | src/viagra.c | 2 |
15 files changed, 66 insertions, 28 deletions
diff --git a/src/bahamut.c b/src/bahamut.c index c28170d11..980012497 100644 --- a/src/bahamut.c +++ b/src/bahamut.c @@ -54,6 +54,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for channel admin */ + NULL, /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "+d", /* Mode on Nick Change */ diff --git a/src/chanserv.c b/src/chanserv.c index 30d794231..3e2a4a1cb 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -1391,14 +1391,14 @@ 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, "-a %s", - user->nick); + anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s", + ircd->adminunset, user->nick); return 0; } if (check_access(user, chan->ci, CA_AUTODEOP)) { - anope_cmd_mode(whosends(chan->ci), chan->name, "-a %s", - user->nick); + anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s", + ircd->adminunset, user->nick); return 0; } @@ -1426,21 +1426,25 @@ int check_valid_op(User * user, Channel * chan, int servermode) if (ircd->owner && ircd->protect) { if (check_access(user, chan->ci, CA_AUTOHALFOP)) { anope_cmd_mode(whosends(chan->ci), chan->name, - "-aoq %s %s %s", user->nick, user->nick, - user->nick); + "-%so%s %s %s %s", ++ircd->adminunset, + ++ircd->ownerunset, user->nick, + user->nick, user->nick); } else { anope_cmd_mode(whosends(chan->ci), chan->name, - "-ahoq %s %s %s %s", user->nick, - user->nick, user->nick, user->nick); + "-%sho%s %s %s %s %s", + ++ircd->adminunset, ++ircd->ownerunset, + user->nick, user->nick, user->nick, + user->nick); } } else if (!ircd->owner && ircd->protect) { if (check_access(user, chan->ci, CA_AUTOHALFOP)) { anope_cmd_mode(whosends(chan->ci), chan->name, - "-ao %s %s", user->nick, user->nick); + "-%so %s %s", ++ircd->adminunset, + user->nick, user->nick); } else { anope_cmd_mode(whosends(chan->ci), chan->name, - "-aoh %s %s %s", user->nick, user->nick, - user->nick); + "-%soh %s %s %s", ++ircd->adminunset, + user->nick, user->nick, user->nick); } } else { if (check_access(user, chan->ci, CA_AUTOHALFOP)) { @@ -1462,7 +1466,8 @@ int check_valid_op(User * user, Channel * chan, int servermode) if (ircd->halfop) { if (ircd->owner && ircd->protect) { anope_cmd_mode(whosends(chan->ci), chan->name, - "-ahoq %s %s %s %s", user->nick, user->nick, + "-%sho%s %s %s %s %s", ++ircd->adminunset, + ++ircd->ownerunset, user->nick, user->nick, user->nick, user->nick); } else { anope_cmd_mode(whosends(chan->ci), chan->name, "-ho %s %s", @@ -2589,10 +2594,7 @@ int get_access_level(ChannelInfo * ci, NickAlias * na) access = &ci->access[num]; - if (!access->in_use) - return 0; - - if (access->nc == na->nc) { + if (access->nc && access->nc == na->nc && access->in_use) { return access->level; } @@ -2785,7 +2787,8 @@ static int do_register(User * u) check_modes(c); /* On most ircds you do not receive the admin/owner mode till its registered */ if (ircd->admin) { - anope_cmd_mode(s_ChanServ, chan, "+a %s", u->nick); + anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->adminset, + u->nick); } if (ircd->owner && ircd->ownerset) { anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->ownerset, @@ -5908,6 +5911,7 @@ static int do_clear(User * u) { char *chan = strtok(NULL, " "); char *what = strtok(NULL, " "); + char tmp[BUFSIZE]; Channel *c; ChannelInfo *ci; @@ -6076,10 +6080,10 @@ static int do_clear(User * u) av[0] = sstrdup(chan); anope_cmd_svsmode_chan(av[0], "-o", NULL); if (ircd->owner) { - anope_cmd_svsmode_chan(av[0], "-q", NULL); + anope_cmd_svsmode_chan(av[0], ircd->ownerunset, NULL); } if (ircd->protect || ircd->admin) { - anope_cmd_svsmode_chan(av[0], "-a", NULL); + anope_cmd_svsmode_chan(av[0], ircd->adminunset, NULL); } for (cu = c->users; cu; cu = next) { next = cu->next; @@ -6089,10 +6093,14 @@ static int do_clear(User * u) if (!chan_has_user_status(c, cu->user, CUS_OWNER)) { continue; } else { - av[1] = sstrdup("-qo"); + snprintf(tmp, BUFSIZE, "-%so", + ++ircd->ownerunset); + av[1] = sstrdup(tmp); + } } else { - av[1] = sstrdup("-ao"); + snprintf(tmp, BUFSIZE, "-%so", ++ircd->adminunset); + av[1] = sstrdup(tmp); } } else { av[1] = sstrdup("-o"); @@ -6112,10 +6120,13 @@ static int do_clear(User * u) if (!chan_has_user_status(c, cu->user, CUS_OWNER)) { continue; } else { - av[1] = sstrdup("-qo"); + snprintf(tmp, BUFSIZE, "-%so", + ++ircd->ownerunset); + av[1] = sstrdup(tmp); } } else { - av[1] = sstrdup("-ao"); + snprintf(tmp, BUFSIZE, "-%so", ++ircd->adminunset); + av[1] = sstrdup(tmp); } } else { av[1] = sstrdup("-o"); diff --git a/src/dreamforge.c b/src/dreamforge.c index bceb88156..399f3c765 100644 --- a/src/dreamforge.c +++ b/src/dreamforge.c @@ -52,6 +52,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to unset for chan admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "+d", /* Mode on Nick Change */ diff --git a/src/hybrid.c b/src/hybrid.c index 6a9e89921..cce2c246a 100644 --- a/src/hybrid.c +++ b/src/hybrid.c @@ -52,6 +52,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for admin */ + NULL, /* Mode to unset for admin */ NULL, /* Mode On Reg */ NULL, /* Mode on UnReg */ NULL, /* Mode on Nick Change */ diff --git a/src/operserv.c b/src/operserv.c index 76434f667..744038866 100644 --- a/src/operserv.c +++ b/src/operserv.c @@ -1764,13 +1764,14 @@ static int do_clearmodes(User * u) } /* Clear mode protected or admins */ if (ircd->svsmode_ucmode && (ircd->protect || ircd->admin)) { - anope_cmd_svsmode_chan(c->name, "-a", NULL); + + anope_cmd_svsmode_chan(c->name, ircd->adminunset, NULL); for (cu = c->users; cu; cu = next) { next = cu->next; if (!chan_has_user_status(c, cu->user, CUS_HALFOP)) { continue; } - argv[0] = sstrdup("-a"); + argv[0] = sstrdup(ircd->adminunset); argv[1] = cu->user->nick; chan_set_modes(s_OperServ, c, 2, argv, 0); free(argv[0]); @@ -1780,10 +1781,10 @@ static int do_clearmodes(User * u) next = cu->next; if (!chan_has_user_status(c, cu->user, CUS_PROTECT)) continue; - argv[0] = sstrdup("-a"); + argv[0] = sstrdup(ircd->adminunset); argv[1] = sstrdup(cu->user->nick); - anope_cmd_mode(s_OperServ, c->name, "-a %s", - cu->user->nick); + anope_cmd_mode(s_OperServ, c->name, "%s %s", + ircd->adminunset, cu->user->nick); chan_set_modes(s_OperServ, c, 2, argv, 0); free(argv[0]); } diff --git a/src/plexus.c b/src/plexus.c index e3217316c..74124154a 100644 --- a/src/plexus.c +++ b/src/plexus.c @@ -52,6 +52,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to unset for chan admin */ "+R", /* Mode On Reg */ "-R", /* Mode on UnReg */ "-R", /* Mode on Nick Change */ diff --git a/src/ptlink.c b/src/ptlink.c index 228f48c0d..a64076243 100644 --- a/src/ptlink.c +++ b/src/ptlink.c @@ -52,6 +52,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to unset for chan admin */ "+r", /* Mode On Reg */ "-r", /* Mode on UnReg */ NULL, /* Mode on Nick Change */ diff --git a/src/rageircd.c b/src/rageircd.c index 050ff4e76..182a911ef 100644 --- a/src/rageircd.c +++ b/src/rageircd.c @@ -53,6 +53,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + "+a", /* Mode to set for channel admin */ + "-a", /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-rd", /* Mode on UnReg */ "-r+d", /* Mode on Nick Change */ diff --git a/src/ratbox.c b/src/ratbox.c index bb1ce1e60..19010ecce 100644 --- a/src/ratbox.c +++ b/src/ratbox.c @@ -54,6 +54,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to unset for chan admin */ NULL, /* Mode On Reg */ NULL, /* Mode on UnReg */ NULL, /* Mode on Nick Change */ diff --git a/src/solidircd.c b/src/solidircd.c index e8489abe4..9603154f4 100644 --- a/src/solidircd.c +++ b/src/solidircd.c @@ -54,6 +54,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to unset for chan admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "+d", /* Mode on Nick Change */ diff --git a/src/ultimate2.c b/src/ultimate2.c index 03b81eeed..99292199e 100644 --- a/src/ultimate2.c +++ b/src/ultimate2.c @@ -52,6 +52,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + NULL, /* Mode to set for chan admin */ + NULL, /* Mode to remove for chan admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "-r+d", /* Mode on Nick Change */ diff --git a/src/ultimate3.c b/src/ultimate3.c index ad965bbd8..b8cd2327e 100644 --- a/src/ultimate3.c +++ b/src/ultimate3.c @@ -54,6 +54,8 @@ IRCDVar ircd[] = { 0, /* Has Owner */ NULL, /* Mode to set for an owner */ NULL, /* Mode to unset for an owner */ + "+a", /* Mode to set for channel admin */ + "-a", /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "+d", /* Mode on Nick Change */ diff --git a/src/unreal31.c b/src/unreal31.c index 6326b274b..43c81fbd4 100644 --- a/src/unreal31.c +++ b/src/unreal31.c @@ -55,6 +55,8 @@ IRCDVar ircd[] = { 1, /* Has Owner */ "+q", /* Mode to set for an owner */ "-q", /* Mode to unset for an owner */ + "+a", /* Mode to set for channel admin */ + "-a", /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "-r+d", /* Mode on Nick Change */ diff --git a/src/unreal32.c b/src/unreal32.c index c612673e3..3b617c3f8 100644 --- a/src/unreal32.c +++ b/src/unreal32.c @@ -54,6 +54,8 @@ IRCDVar ircd[] = { 1, /* Has Owner */ "+q", /* Mode to set for an owner */ "-q", /* Mode to unset for an owner */ + "+a", /* Mode to set for channel admin */ + "-a", /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "-r+d", /* Mode on Nick Change */ diff --git a/src/viagra.c b/src/viagra.c index b94ad6aee..c234aa67c 100644 --- a/src/viagra.c +++ b/src/viagra.c @@ -53,6 +53,8 @@ IRCDVar ircd[] = { 1, /* Has Owner */ "+q", /* Mode to set for an owner */ "-q", /* Mode to unset for an owner */ + "+a", /* Mode to set for channel admin */ + "-a", /* Mode to unset for channel admin */ "+rd", /* Mode On Reg */ "-r+d", /* Mode on UnReg */ "-r+d", /* Mode on Nick Change */ |