diff options
author | Adam <Adam@anope.org> | 2010-08-28 23:17:33 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-08-28 23:17:33 -0400 |
commit | 4319319f979c3b288f8f355915aa33541721810c (patch) | |
tree | d13a91175ad1e0ca9ce56a1f0338e6e5e1cfe875 /src/servers.cpp | |
parent | e820e1af0d01011dbe9d91d2971cc3518f7f3d42 (diff) |
Burst back our juped servers if we disconnect
Diffstat (limited to 'src/servers.cpp')
-rw-r--r-- | src/servers.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/servers.cpp b/src/servers.cpp index d817ee94f..4b843411c 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -55,10 +55,12 @@ Flags<CapabType, CAPAB_END> Capab; * @param hops Hops from services server * @param description Server rdescription * @param sid Server sid/numeric + * @param flag An optional server flag */ -Server::Server(Server *uplink, const Anope::string &name, unsigned hops, const Anope::string &description, const Anope::string &sid) : Name(name), Hops(hops), Description(description), SID(sid), UplinkServer(uplink) +Server::Server(Server *uplink, const Anope::string &name, unsigned hops, const Anope::string &description, const Anope::string &sid, ServerFlag flag) : Name(name), Hops(hops), Description(description), SID(sid), UplinkServer(uplink) { - SetFlag(SERVER_SYNCING); + this->SetFlag(SERVER_SYNCING); + this->SetFlag(flag); Log(this, "connect") << "uplinked to " << (this->UplinkServer ? this->UplinkServer->GetName() : "no uplink") << " connected to the network"; @@ -68,7 +70,7 @@ Server::Server(Server *uplink, const Anope::string &name, unsigned hops, const A this->UplinkServer->AddLink(this); /* Check to be sure the uplink server only has one uplink, otherwise we introduce our clients if we jupe servers */ - if (Me == this->UplinkServer && this->UplinkServer->GetLinks().size() == 1) + if (Me == this->UplinkServer && !this->HasFlag(SERVER_JUPED)) { /* Bring in our pseudo-clients */ introduce_user(""); |