charybdis-ircd / charybdis

Scalable IRCv3.2 server for large, community-oriented networks
GNU General Public License v2.0
231 stars 102 forks source link

Do not prevent users from changing nick while +b/q #354

Closed ddevault closed 4 years ago

ddevault commented 4 years ago

+q in particular is often used to cast a wide net, with masks like +q $~a, which causes normal users to be unable to use regain without parting as many as tens of channels first. The prohibition was never useful in the first place and is causing problems now, so it's gotta go.

aaronmdjones commented 4 years ago

A +q $~a does not prevent people from using REGAIN, as they can identify regardless of the nickname they are using, at which point they are not quieted any more.

This is also mostly solved by (any) SASL, when you don't have a nickname at all, and is fully solved with IRCv3.2 post-registration SASL (if you connected while services was unavailable), which this software & Atheme both support. As more networks adopt this feature, and client authors update their implementations, this corner case will just go away.

ddevault commented 4 years ago

You don't need to use SASL, and in fact it requires extra configuration to do so. "This feature is broken, but by using this unrelated workaround, you can avoid it. Therefore this feature is not broken". No, that's not how it works.

aaronmdjones commented 4 years ago

This feature is broken, but by using this unrelated workaround, you can avoid it. Therefore this feature is not broken

But this isn't broken. It is working as designed.

This will not be removed.

ddevault commented 4 years ago

Its design is broken. Fuck's sake, this shit is why people don't like IRC. Ancient codebases with broken odds & ends everywhere and maintainers who refuse even straightforward patches to fix its loose ends. Go ahead, add more extbans, and never stop to consider their interactions with code you don't want to think about. Let's break IRC even more! Woohoo!