ElementalAlchemist / txircd

Modular IRCd built using Twisted. Made to be extremely customizable.
BSD 3-Clause "New" or "Revised" License
19 stars 5 forks source link

R extban and associated nickserv fixes #64

Closed ekimekim closed 10 years ago

ekimekim commented 10 years ago

Note that I just added some more commits in order to make extbans work on user login/logout. This is tested and working!

ElementalAlchemist commented 10 years ago

I like all of this except the part where we're putting services in BanMode.

Heufneutje commented 10 years ago

We could go for an autostatus list mode like InspIRCd has. (+w)

Heufneutje commented 10 years ago

Also now that I think about it, are list modes being stored by ChanServ? Cause if not we'd lose the autostatus list whenever the channel is empty. (like when the server restarts)

ekimekim commented 10 years ago

ChanServ stores the contents of channel.modes, which is everything except status modes.

Heufneutje commented 10 years ago

Ah okay. That'll ensure the persistent storage of the autostatuses then.

ekimekim commented 10 years ago

I've modified how the login notification works so now cmode_b doesn't directly rely on nickserv (it exposes a function that other modules can call to refresh a user). However, I don't know what the correct behaviour should be when a user logs out. Since we don't record anywhere what statuses were added due to extbans (or to put it another way, what the value was before the extban applied), the only way we can reliably remove them all is to remove ALL status concerning the user, in all channels. I'm not sure if that's acceptable.

ekimekim commented 10 years ago

bump?