summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inspircd.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index a85ae73b8..1a9c3fbc7 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -3305,6 +3305,23 @@ void DoSync(serverrec* serv, char* tcp_host)
snprintf(data,MAXBUF,"Y %lu",(unsigned long)TIME);
serv->SendPacket(data,tcp_host);
// send users and channels
+
+ for (int j = 0; j < 32; j++)
+ {
+ if (me[j] != NULL)
+ {
+ for (int k = 0; k < me[j]->connectors.size(); k++)
+ {
+ if (is_uline(me[j]->connectors[k].GetServerName().c_str()))
+ {
+ snprintf(data,MAXBUF,"H %s",me[j]->connectors[k].GetServerName().c_str());
+ serv->SendPacket(data,tcp_host);
+ NetSendMyRoutingTable();
+ }
+ }
+ }
+ }
+
for (user_hash::iterator u = clientlist.begin(); u != clientlist.end(); u++)
{
snprintf(data,MAXBUF,"N %lu %s %s %s %s +%s %s %s :%s",(unsigned long)u->second->age,u->second->nick,u->second->host,u->second->dhost,u->second->ident,u->second->modes,u->second->ip,u->second->server,u->second->fullname);
@@ -3360,22 +3377,6 @@ void DoSync(serverrec* serv, char* tcp_host)
// sync global zlines, glines, etc
sync_xlines(serv,tcp_host);
- for (int j = 0; j < 32; j++)
- {
- if (me[j] != NULL)
- {
- for (int k = 0; k < me[j]->connectors.size(); k++)
- {
- if (is_uline(me[j]->connectors[k].GetServerName().c_str()))
- {
- snprintf(data,MAXBUF,"H %s",me[j]->connectors[k].GetServerName().c_str());
- serv->SendPacket(data,tcp_host);
- NetSendMyRoutingTable();
- }
- }
- }
- }
-
snprintf(data,MAXBUF,"F %lu",(unsigned long)TIME);
serv->SendPacket(data,tcp_host);
log(DEBUG,"Sent sync");