charybdis-ircd / charybdis

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

Implement the freenode.net/identify-msg vendor cap #356

Closed edk0 closed 4 years ago

edk0 commented 4 years ago

There's no prior art, so we can change the capability name to something charybdis-y if you have a domain and you want to.

m_identified gets to be a core module because we need to maintain identified status at all times—there's no way to recover it after module downtime. I suspect m_services should get the same treatment, but that'll be another PR, if so.

kaniini commented 4 years ago

if they are authed to an account, that should be sufficient. what is this identified thing about?

DALnet-style NICK ownership has never been a design concept in charybdis, why should we make it one now?

kaniini commented 4 years ago

If we were to implement a DALnet-style nick ownership mode, it should be implemented with a user-mode, not this module approach. That allows it to be an extension, which is basically the only thing that is tolerable.

kaniini commented 4 years ago

Here's how we are going to actually do this.

We are going to add a usermode +r, which can only be set or cleared by services. On nick change, the usermode will automatically clear. This will NOT be a required module to run charybdis, it will be an extension. Freenode will simply enable the extension.

Instead of adding yet another ENCAP, we're going to add ENCAP MODE to allow services to set this user mode. Other ENCAPs should also be replaced by ENCAP MODE.

kaniini commented 4 years ago

Closing in favor of #357 which is a design that is acceptable to us.