This way, the information remains valid after a split.
For clients on TS5 servers, the nick is used; this is
not much of a problem because these are on pseudoservers
and not assumed to change nick much at all.
The code is inspired by the code in atheme-services, but
* it uses 'hg parents' instead of 'hg tip' so it will
also work if the working directory is not updated
to the latest version in the local repository
* the format is different (date-shorthash instead of
revnum:shorthash)
* some sort of serno.h is always generated, be it
"unknown" only
- the number of messages blocked by target change on
this server since it was started
- the number of IPs currently subject to a a lower
target limit on this server (these expire over time)
This check sometimes blocks oper overrides (OMODE).
It does not stop any hacks that the channelTS check
already stops, because CHFL_DEOPPED is only set when
this server ignored an @ in an incoming SJOIN (the
SJOIN is then propagated without the @) and this
can only be because of a TS difference.
Reasoning why it never does anything:
- the to = to->from line makes sure that MyConnect(to)
- then IsPerson(to) && (to == from->from) implies that to == from
- so MyClient(to)
- which cannot happen because it also wants that !MyClient(from)
Originally, the to = to->from line was below, and it did a
fake direction check, killing a client if servers could be
confused about it. The kill cannot do any good with TS6.
The fake direction check is and was performed by the
callers of send_linebuf_remote().
- Do not use hide_error_messages for certain "safe" ERRORs.
- If hide_error_messages hides an ERROR from a handshake,
send a server notice anyway, but without the message
text.
- Send server notices about ERRORs from handshakes network
wide if it was a remote connect.
Note that +D clients do not get these. This is consistent
with how ircu treats remote numerics and with how we treat
server notices from other servers, but not with how locally
generated notices and numerics are sent also to +D clients.
Duplicate klines are now disallowed regardless of
no_redundant_klines. There is a somewhat hackish check
to see if the new kline is wider than the existing one.