mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-02 17:53:14 +02:00
Fix channel ops unable to -h someone, even though they could +h.
Reported by Jaka in https://bugs.unrealircd.org/view.php?id=6077 and Valware and buayadarat in https://bugs.unrealircd.org/view.php?id=6078 This commit also makes the halfop rules for +h/-h match the ones in U5: Previously in 6.0.0 - 6.0.2 it was: * halfops can set +h on others * halfops cannot set -h on others * halfops can set -h on themselves Now in 6.0.3+ it matches 5.x behavior again: * halfops cannot set -h or +h on others * halfops can set -h on themselves
This commit is contained in:
@@ -73,9 +73,9 @@ int cmode_halfop_is_ok(Client *client, Channel *channel, char mode, const char *
|
||||
/* User may always remove their own modes */
|
||||
return EX_ALLOW;
|
||||
}
|
||||
if ((what == MODE_ADD) && check_channel_access(client, channel, "hoaq"))
|
||||
if (check_channel_access(client, channel, "oaq"))
|
||||
{
|
||||
/* Permitted for +hoaq */
|
||||
/* Permitted for +oaq */
|
||||
return EX_ALLOW;
|
||||
}
|
||||
if (type == EXCHK_ACCESS_ERR)
|
||||
|
||||
Reference in New Issue
Block a user