summaryrefslogtreecommitdiff
path: root/src/servers.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-08-28 23:17:33 -0400
committerAdam <Adam@anope.org>2010-08-28 23:17:33 -0400
commit4319319f979c3b288f8f355915aa33541721810c (patch)
treed13a91175ad1e0ca9ce56a1f0338e6e5e1cfe875 /src/servers.cpp
parente820e1af0d01011dbe9d91d2971cc3518f7f3d42 (diff)
Burst back our juped servers if we disconnect
Diffstat (limited to 'src/servers.cpp')
-rw-r--r--src/servers.cpp8
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("");