
On Wed, Oct 21, 2009 at 6:14 PM, James Hess <mysidia@gmail.com> wrote:
If toggling hostmasking in realtime is not required, then servers do not need to implement quit/reconnect simulations and other workarounds, and
I'm saying: implement toggling, but do not fake any quit/reconnects when the "mask" user-mode is toggled. I see simulating "quit/rejoin" as excessive, a bad idea, and not needed, even when toggling is implemented.
The simplest thing to do is to allow toggling, and discard the artificial assumptions you crafted and stated that clients and scripts may make. I'm saying "to hell with their assumptions"; as long as they are not crashing or blowing up, the limited number of users utilizing masking mitigates any effect.
How is faking quit/reconnects a bad idea, especially when such an implementation is not even that complex? Making zero assumptions seems worse than at least making some "artificial" assumptions that do actually hold true in some use cases. The reason why such host cycling was added in ircu (and other ircds), for example, is because it has been shown that some clients and scripts assume a user's address can never change without the user quitting and returning. Perhaps that assumption is flawed, but it is what is. At least cycling helps ensure their address lists stayed syncd. The simplest solution is not always the best or most practical solution. Intentionally breaking clients and scripts just seems a bad way of going about implementing hostmasking, especially when said clients and scripts will work without problems on most other networks. I'll concede that clients and scripts provide support for the server, and not the other way around, but a lot of ircd developers, including myself, actually do try to keep interoperability between networks with the least amount of work for the client -- especially when something has been accepted as the norm by a vast majority of the community. -SecretAgent