1
0
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:
Bram Matthys
2022-03-18 07:26:53 +01:00
parent 95549220dd
commit f169a3cf77
+2 -2
View File
@@ -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)