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:
@@ -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
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user