1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-10 12:43:12 +02:00

- Fixed /who +m bug for opers, reported by Bugz (#0001715).

- Fixed halfop mode code to not check remote halfop modes (desynch danger).
This commit is contained in:
Bram Matthys
2004-04-13 22:22:50 +00:00
parent 24336c6153
commit d1bfc78a45
3 changed files with 6 additions and 3 deletions
+2
View File
@@ -3086,3 +3086,5 @@ seen. gmtime warning still there
just to be sure... (#0001724).
- Updated server<->server code for MODE so operoverride bug #0001704 and other
feature requests can be fixed/added in the future (3.2.1).
- Fixed /who +m bug for opers, reported by Bugz (#0001715).
- Fixed halfop mode code to not check remote halfop modes (desynch danger).
+2 -1
View File
@@ -1825,7 +1825,8 @@ int do_mode_char(aChannel *chptr, long modetype, char modechar, char *param,
{
/* Ugly halfop hack --sts
- this allows halfops to do +b +e +v and so on */
if (Halfop_mode(modetype) == FALSE)
/* (Syzop/20040413: Allow remote halfop modes */
if ((Halfop_mode(modetype) == FALSE) && MyClient(cptr))
{
int eaten = 0;
while (tab->mode != 0x0)
+2 -2
View File
@@ -439,13 +439,13 @@ char has_common_chan = 0;
/* if they only want people with a certain umode */
if (wfl.umodes_want)
{
if (!(acptr->umodes & wfl.umodes_want) || (acptr->umodes & UMODE_HIDEOPER))
if (!(acptr->umodes & wfl.umodes_want) || (!IsAnOper(sptr) && (acptr->umodes & UMODE_HIDEOPER)))
return WHO_CANTSEE;
}
if (wfl.umodes_dontwant)
{
if ((acptr->umodes & wfl.umodes_dontwant) && !(acptr->umodes & UMODE_HIDEOPER))
if ((acptr->umodes & wfl.umodes_dontwant) && (!(acptr->umodes & UMODE_HIDEOPER) || IsAnOper(sptr)))
return WHO_CANTSEE;
}