diff --git a/include/servers.h b/include/servers.h index 5e97b7484..51b216b16 100644 --- a/include/servers.h +++ b/include/servers.h @@ -57,11 +57,11 @@ private: /* Uplink for this server */ Server *uplink; /* Server is syncing */ - bool syncing; + bool syncing = true; /* The server is juped */ bool juped; /* The server is about to quit */ - bool quitting; + bool quitting = false; /* Reason this server was quit */ Anope::string quit_reason; @@ -69,12 +69,12 @@ public: /** Constructor * @param uplink The uplink this server is from, is only NULL when creating Me * @param name The server name - * @param hops Hops from services server * @param description Server rdescription * @param sid Server sid/numeric + * @param hops Hops from services server * @param jupe If the server is juped */ - Server(Server *uplink, const Anope::string &name, unsigned hops, const Anope::string &description, const Anope::string &sid = "", bool jupe = false); + Server(Server *uplink, const Anope::string &name, const Anope::string &description, const Anope::string &sid = "", unsigned hops = 0, bool jupe = false); private: /** Destructor diff --git a/modules/operserv/os_jupe.cpp b/modules/operserv/os_jupe.cpp index feff49a82..2b31fee0d 100644 --- a/modules/operserv/os_jupe.cpp +++ b/modules/operserv/os_jupe.cpp @@ -46,7 +46,7 @@ public: IRCD->SendSquit(server, rbuf); server->Delete(rbuf); } - auto *juped_server = new Server(Me, jserver, 1, rbuf, sid, true); + auto *juped_server = new Server(Me, jserver, rbuf, sid, 1, true); IRCD->SendServer(juped_server); Log(LOG_ADMIN, source, this) << "on " << jserver << " (" << rbuf << ")"; diff --git a/modules/protocol/hybrid.cpp b/modules/protocol/hybrid.cpp index 41130aa1c..b5574bddc 100644 --- a/modules/protocol/hybrid.cpp +++ b/modules/protocol/hybrid.cpp @@ -510,7 +510,7 @@ struct IRCDMessageServer final if (params.size() == 5) UplinkSID = params[2]; - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], 1, params.back(), UplinkSID); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], params.back(), UplinkSID, 1); IRCD->SendPing(Me->GetName(), params[0]); } @@ -526,7 +526,7 @@ struct IRCDMessageSID final void Run(MessageSource &source, const std::vector ¶ms, const Anope::map &tags) override { auto hops = Anope::Convert(params[1], 0); - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], hops, params.back(), params[2]); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], params.back(), params[2], hops); IRCD->SendPing(Me->GetName(), params[0]); } diff --git a/modules/protocol/inspircd.cpp b/modules/protocol/inspircd.cpp index 249a68307..984f42a4e 100644 --- a/modules/protocol/inspircd.cpp +++ b/modules/protocol/inspircd.cpp @@ -2348,7 +2348,7 @@ struct IRCDMessageServer final * 2: numeric * 3: desc */ - new Server(Me, params[0], 0, params.back(), params[2]); + new Server(Me, params[0], params.back(), params[2]); } else if (source.GetServer()) { @@ -2359,7 +2359,7 @@ struct IRCDMessageServer final * 2 to N-1: various key=value pairs. * N: desc */ - new Server(source.GetServer(), params[0], 1, params.back(), params[1]); + new Server(source.GetServer(), params[0], params.back(), params[1]); } } }; diff --git a/modules/protocol/ngircd.cpp b/modules/protocol/ngircd.cpp index cb046f677..d53cff601 100644 --- a/modules/protocol/ngircd.cpp +++ b/modules/protocol/ngircd.cpp @@ -542,13 +542,13 @@ struct IRCDMessageServer final if (params.size() == 3) { // our uplink is introducing itself - new Server(Me, params[0], 1, params[2], "1"); + new Server(Me, params[0], params[2], "1", 1); } else { // our uplink is introducing a new server auto hops = Anope::Convert(params[1], 0); - new Server(source.GetServer(), params[0], hops, params[3], params[2]); + new Server(source.GetServer(), params[0], params[3], params[2], hops); } /* * ngIRCd does not send an EOB, so we send a PING immediately diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 270ff0294..e0a01b8fa 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -287,7 +287,7 @@ struct IRCDMessageServer final if (params[1] != "1") return; - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], 1, params[2], UplinkSID); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], params[2], UplinkSID, 1); } }; diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index cae567c27..97636563f 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -213,7 +213,7 @@ struct IRCDMessageServer final // Servers other then our immediate uplink are introduced via SID if (params[1] != "1") return; - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], 1, params[2], UplinkSID); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], params[2], UplinkSID, 1); IRCD->SendPing(Me->GetName(), params[0]); } }; diff --git a/modules/protocol/solanum.cpp b/modules/protocol/solanum.cpp index 091f1843a..35bf425c8 100644 --- a/modules/protocol/solanum.cpp +++ b/modules/protocol/solanum.cpp @@ -400,7 +400,7 @@ struct IRCDMessageServer final // Servers other then our immediate uplink are introduced via SID if (params[1] != "1") return; - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], 1, params[2], UplinkSID); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], params[2], UplinkSID, 1); IRCD->SendPing(Me->GetName(), params[0]); } }; diff --git a/modules/protocol/unrealircd.cpp b/modules/protocol/unrealircd.cpp index ef80bbc4d..a11b0581e 100644 --- a/modules/protocol/unrealircd.cpp +++ b/modules/protocol/unrealircd.cpp @@ -1455,10 +1455,10 @@ struct IRCDMessageServer final Anope::string desc; spacesepstream(params[2]).GetTokenRemainder(desc, 1); - new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], hops, desc, UplinkSID); + new Server(source.GetServer() == NULL ? Me : source.GetServer(), params[0], desc, UplinkSID, hops); } else - new Server(source.GetServer(), params[0], hops, params[2]); + new Server(source.GetServer(), params[0], params[2], hops); IRCD->SendPing(Me->GetName(), params[0]); } @@ -1473,7 +1473,7 @@ struct IRCDMessageSID final { auto hops = Anope::Convert(params[1], 0); - new Server(source.GetServer(), params[0], hops, params[3], params[2]); + new Server(source.GetServer(), params[0], params[3], params[2], hops); IRCD->SendPing(Me->GetName(), params[0]); } diff --git a/src/init.cpp b/src/init.cpp index 40a9fd992..67481e291 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -518,7 +518,7 @@ bool Anope::Init(int ac, char **av) /* Create me */ const auto &block = Config->GetBlock("serverinfo"); - Me = new Server(NULL, block.Get("name"), 0, block.Get("description"), block.Get("id")); + Me = new Server(NULL, block.Get("name"), block.Get("description"), block.Get("id")); for (const auto &[_, bi] : *BotListByNick) { bi->server = Me; diff --git a/src/servers.cpp b/src/servers.cpp index aef5fe186..9162e2d48 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -30,12 +30,14 @@ Anope::map Servers::ByID; std::set Servers::Capab; -Server::Server(Server *up, const Anope::string &sname, unsigned shops, const Anope::string &desc, const Anope::string &ssid, bool jupe) : name(sname), hops(shops), description(desc), sid(ssid), uplink(up) +Server::Server(Server *up, const Anope::string &sname, const Anope::string &desc, const Anope::string &ssid, unsigned shops, bool jupe) + : name(sname) + , hops(shops) + , description(desc) + , sid(ssid) + , uplink(up) + , juped(jupe) { - syncing = true; - juped = jupe; - quitting = false; - Servers::ByName[sname] = this; if (!ssid.empty()) Servers::ByID[ssid] = this;