[IRCServices Coding] Feature request: No logonnews after netsplit

Wolfgang Urban ircservices-coding at tou.de
Sat Apr 10 07:15:05 PDT 2004

Hi all,

i think it would be very useful if services could detect when a netmerge (of
any server on its own net, at any time) is completed. This would bring the
following advantages/features:

1.) If you know that a server is linking at the moment and merging its data
with the net by sending its users, channels, etc., you would also be able to
determine whether a new user (from services' point of view) is just being
introduced as part of the netmerge and was still on his server or logged
onto his server shortly ago.
Currently services send their logonnews to every "new" user they see on the
net, even if this user has already received them during his irc session.

2.) Services would be able to wait until a linking server has completed its
netmerge and then set chanmodes like autoop/voice - but only if necessary.

All in all it would reduce the services traffic and the annoyance level for
the users in case of a netsplit or svs restart.

I think there is an easy way to determine the end of an netmerge without
help of any special ircd features:
You just need to send a PING to any new server on the net. If we can assume
that every ircd software first sends all its own nicks/chans/.. and then
starts to reply to commands, you should get the PONG after receiving all
netmerge specific data. Before this PONG is being received, logonnews
shouldn't be sent to users on this server and they also shouldn't get autoop
or autovoice. When we get the PONG, we need to recheck the
autoop/autovoice-status of every user on the server that just linked.