Disable autoconnect for a server with excessive TS delta.

Note that in some cases (different TS delta settings,
heavy lag) it is possible only one of the servers
detects the problem and autoconnect may be left enabled.
The mechanism used for disabling is the same as
/quote set autoconn <server> 0; the A flag in /stats c
disappears and a rehash or /quote set autoconn can put
it back.
This commit is contained in:
Jilles Tjoelker 2009-02-05 23:43:07 +01:00
parent 03204327ec
commit 53307da8ca
3 changed files with 21 additions and 0 deletions

View file

@ -31,6 +31,7 @@
#include "numeric.h"
#include "send.h"
#include "s_conf.h"
#include "s_newconf.h"
#include "logger.h"
#include "msg.h"
#include "parse.h"
@ -96,6 +97,7 @@ ms_svinfo(struct Client *client_p, struct Client *source_p, int parc, const char
log_client_name(source_p, SHOW_IP), (long) rb_current_time(), (long) theirtime, deltat);
rb_snprintf(squitreason, sizeof squitreason, "Excessive TS delta (my TS=%ld, their TS=%ld, delta=%d)",
(long) rb_current_time(), (long) theirtime, deltat);
disable_server_conf_autoconn(source_p->name);
exit_client(source_p, source_p, source_p, squitreason);
return 0;
}