]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Hide the server name/desc better when <options:hideserver> is set.
authorSadie Powell <sadie@witchery.services>
Sun, 20 Dec 2020 03:04:21 +0000 (03:04 +0000)
committerSadie Powell <sadie@witchery.services>
Sun, 20 Dec 2020 03:05:29 +0000 (03:05 +0000)
17 files changed:
include/clientprotocolmsg.h
include/configreader.h
include/modules/cap.h
include/modules/ircv3_replies.h
include/numericbuilder.h
src/configreader.cpp
src/coremods/core_info/cmd_admin.cpp
src/coremods/core_info/cmd_motd.cpp
src/coremods/core_info/cmd_time.cpp
src/coremods/core_info/core_info.cpp
src/coremods/core_stub.cpp
src/modules/m_ircv3_batch.cpp
src/modules/m_permchannels.cpp
src/modules/m_spanningtree/main.cpp
src/modules/m_sslinfo.cpp
src/server.cpp
src/usermanager.cpp

index 07f32b686d6058707f33b37b8d3fe34c494edfb1..53122cff9965ca9652f696230b521d9f2c38e5a9 100644 (file)
@@ -68,7 +68,7 @@ class ClientProtocol::Messages::Numeric : public ClientProtocol::Message
         * @param user User to send the numeric to. May be unregistered, must remain valid as long as this object is alive.
         */
        Numeric(const ::Numeric::Numeric& num, User* user)
-               : ClientProtocol::Message(NULL, (num.GetServer() ? num.GetServer()->GetName() : ServerInstance->Config->ServerName))
+               : ClientProtocol::Message(NULL, (num.GetServer() ? num.GetServer() : ServerInstance->FakeClient->server)->GetName())
        {
                if (user->registered & REG_NICK)
                        PushParamRef(user->nick);
@@ -82,7 +82,7 @@ class ClientProtocol::Messages::Numeric : public ClientProtocol::Message
         * @param target Target string, must stay valid as long as this object is alive.
         */
        Numeric(const ::Numeric::Numeric& num, const std::string& target)
-               : ClientProtocol::Message(NULL, (num.GetServer() ? num.GetServer()->GetName() : ServerInstance->Config->ServerName))
+               : ClientProtocol::Message(NULL, (num.GetServer() ? num.GetServer() : ServerInstance->FakeClient->server)->GetName())
        {
                PushParamRef(target);
                InitFromNumeric(num);
@@ -92,7 +92,7 @@ class ClientProtocol::Messages::Numeric : public ClientProtocol::Message
         * @param num Numeric number.
         */
        Numeric(unsigned int num)
-               : ClientProtocol::Message(NULL, ServerInstance->Config->ServerName)
+               : ClientProtocol::Message(NULL, ServerInstance->Config->GetServerName())
        {
                InitCommand(num);
                PushParam("*");
@@ -643,7 +643,7 @@ struct ClientProtocol::Messages::Ping : public ClientProtocol::Message
        Ping()
                : ClientProtocol::Message("PING")
        {
-               PushParamRef(ServerInstance->Config->ServerName);
+               PushParamRef(ServerInstance->Config->GetServerName());
        }
 
        /** Constructor.
@@ -666,9 +666,9 @@ struct ClientProtocol::Messages::Pong : public ClientProtocol::Message
         * @param server Pinged server. Must remain valid as long as this object is alive if non-empty.
         */
        Pong(const std::string& cookie, const std::string& server = "")
-               : ClientProtocol::Message("PONG", ServerInstance->Config->ServerName)
+               : ClientProtocol::Message("PONG", ServerInstance->Config->GetServerName())
        {
-               PushParamRef(ServerInstance->Config->ServerName);
+               PushParamRef(ServerInstance->Config->GetServerName());
                if (!server.empty())
                        PushParamRef(server);
                PushParamRef(cookie);
index 7274dfad851c003be8ed4a99c249ed84134b0830..3a5ea9c6015b7cfd29de2c3389e8f6dc82af21e4 100644 (file)
@@ -451,6 +451,12 @@ class CoreExport ServerConfig
         */
        const std::string& GetSID() const { return sid; }
 
+       /** Retrieves the server name which should be shown to users. */
+       const std::string& GetServerName() const { return HideServer.empty() ? ServerName : HideServer; }
+
+       /** Retrieves the server description which should be shown to users. */
+       const std::string& GetServerDesc() const { return HideServer.empty() ? ServerDesc : HideServer; }
+
        /** Read the entire configuration into memory
         * and initialize this class. All other methods
         * should be used only by the core.
index e14bcc42262da7a0e4ae1a871effad0b0b58615d..9dacdc200297f1d7b78c3108a3db7e78670818bd 100644 (file)
@@ -320,7 +320,7 @@ namespace Cap
        {
         public:
                MessageBase(const std::string& subcmd)
-                       : ClientProtocol::Message("CAP", ServerInstance->Config->ServerName)
+                       : ClientProtocol::Message("CAP", ServerInstance->Config->GetServerName())
                {
                        PushParamPlaceholder();
                        PushParam(subcmd);
index 4666f002aa3c4cbfea887c200fd7ba706f157a84..f3c5c451a8db7e85cd700c9e67ea131bc9a5615f 100644 (file)
@@ -90,7 +90,7 @@ class IRCv3::Replies::Reply
         */
        void Send(LocalUser* user, Command* command, const std::string& code, const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                msg.PushParamRef(command->name);
                msg.PushParam(code);
                msg.PushParam(description);
@@ -100,7 +100,7 @@ class IRCv3::Replies::Reply
        template<typename T1>
        void Send(LocalUser* user, Command* command, const std::string& code, const T1& p1, const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                msg.PushParamRef(command->name);
                msg.PushParam(code);
                msg.PushParam(ConvToStr(p1));
@@ -112,7 +112,7 @@ class IRCv3::Replies::Reply
        void Send(LocalUser* user, Command* command, const std::string& code, const T1& p1, const T2& p2,
                const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                msg.PushParamRef(command->name);
                msg.PushParam(code);
                msg.PushParam(ConvToStr(p1));
@@ -125,7 +125,7 @@ class IRCv3::Replies::Reply
        void Send(LocalUser* user, Command* command, const std::string& code, const T1& p1, const T2& p2,
                const T3& p3, const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                msg.PushParamRef(command->name);
                msg.PushParam(code);
                msg.PushParam(ConvToStr(p1));
@@ -139,7 +139,7 @@ class IRCv3::Replies::Reply
        void Send(LocalUser* user, Command* command, const std::string& code, const T1& p1, const T2& p2,
                const T3& p3, const T4& p4, const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                msg.PushParamRef(command->name);
                msg.PushParam(code);
                msg.PushParam(ConvToStr(p1));
@@ -154,7 +154,7 @@ class IRCv3::Replies::Reply
        void Send(LocalUser* user, Command* command, const std::string& code, const T1& p1, const T2& p2,
                const T3& p3, const T4& p4, const T5& p5, const std::string& description)
        {
-               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->ServerName);
+               ClientProtocol::Message msg(cmd.c_str(), ServerInstance->Config->GetServerName());
                if (command)
                        msg.PushParamRef(command->name);
                else
index 9feceb7cbe51bb74739370db8005b5361fa6b982..a077c666deaa9ff67e1d1261281a487d2b492d1e 100644 (file)
@@ -86,7 +86,7 @@ class Numeric::GenericBuilder
        GenericBuilder(Sink s, unsigned int num, bool addparam = true, size_t additionalsize = 0)
                : sink(s)
                , numeric(num)
-               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->ServerName.size() - additionalsize - 10)
+               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->GetServerName().size() - additionalsize - 10)
        {
                if (addparam)
                        numeric.push(std::string());
@@ -156,7 +156,7 @@ class Numeric::GenericParamBuilder
                : sink(s)
                , numeric(num)
                , currlen(0)
-               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->ServerName.size() - additionalsize - 10)
+               , max(ServerInstance->Config->Limits.MaxLine - ServerInstance->Config->GetServerName().size() - additionalsize - 10)
        {
        }
 
index b258d93fc052d84606102e0108c0caaa063fc135..f968365074240d469184c2ef8af9e1219902eba0 100644 (file)
@@ -335,7 +335,7 @@ void ServerConfig::CrossCheckConnectBlocks(ServerConfig* current)
        }
 }
 
-static std::string GetServerName()
+static std::string GetServerHost()
 {
 #ifndef _WIN32
        char hostname[256];
@@ -359,7 +359,7 @@ void ServerConfig::Fill()
        ConfigTag* server = ConfValue("server");
        if (sid.empty())
        {
-               ServerName = server->getString("name", GetServerName(), InspIRCd::IsHost);
+               ServerName = server->getString("name", GetServerHost(), InspIRCd::IsHost);
 
                sid = server->getString("id");
                if (!sid.empty() && !InspIRCd::IsSID(sid))
index e4764d5c9e1ea1da879152e41e9bd7d14b7768ea..07be23e68ca6b0a1d32ea08fda2c444fc3469c91 100644 (file)
@@ -39,7 +39,7 @@ CmdResult CommandAdmin::Handle(User* user, const Params& parameters)
 {
        if (parameters.size() > 0 && !irc::equals(parameters[0], ServerInstance->Config->ServerName))
                return CMD_SUCCESS;
-       user->WriteRemoteNumeric(RPL_ADMINME, ServerInstance->Config->ServerName, "Administrative info");
+       user->WriteRemoteNumeric(RPL_ADMINME, ServerInstance->Config->GetServerName(), "Administrative info");
        if (!AdminName.empty())
                user->WriteRemoteNumeric(RPL_ADMINLOC1, InspIRCd::Format("Name: %s", AdminName.c_str()));
        user->WriteRemoteNumeric(RPL_ADMINLOC2, InspIRCd::Format("Nickname: %s", AdminNick.c_str()));
index 69caf7de1136f0e29836e67c43e4198a777fa360..c9a542f14f80220e91cbfeb9d1c75f0b68738f2d 100644 (file)
@@ -57,7 +57,7 @@ CmdResult CommandMotd::Handle(User* user, const Params& parameters)
                return CMD_SUCCESS;
        }
 
-       user->WriteRemoteNumeric(RPL_MOTDSTART, InspIRCd::Format("%s message of the day", ServerInstance->Config->ServerName.c_str()));
+       user->WriteRemoteNumeric(RPL_MOTDSTART, InspIRCd::Format("%s message of the day", ServerInstance->Config->GetServerName().c_str()));
 
        for (file_cache::iterator i = motd->second.begin(); i != motd->second.end(); i++)
                user->WriteRemoteNumeric(RPL_MOTD, InspIRCd::Format(" %s", i->c_str()));
index 3eab43b2a85097ab46c95fee51ff2c4822839e95..a880d7a0ef888708eefd3cd0522151f2e99517a8 100644 (file)
@@ -37,7 +37,6 @@ CmdResult CommandTime::Handle(User* user, const Params& parameters)
        if (parameters.size() > 0 && !irc::equals(parameters[0], ServerInstance->Config->ServerName))
                return CMD_SUCCESS;
 
-       user->WriteRemoteNumeric(RPL_TIME, ServerInstance->Config->ServerName, InspIRCd::TimeString(ServerInstance->Time()));
-
+       user->WriteRemoteNumeric(RPL_TIME, ServerInstance->Config->GetServerName(), InspIRCd::TimeString(ServerInstance->Time()));
        return CMD_SUCCESS;
 }
index f138494c89564bfa433eda34c5ac2d500375eeb0..24eaaae03a717899109f5dd92f4c6cc266ef6d25 100644 (file)
@@ -134,7 +134,7 @@ class CoreModInfo : public Module
        void OnUserConnect(LocalUser* user) CXX11_OVERRIDE
        {
                user->WriteNumeric(RPL_WELCOME, InspIRCd::Format("Welcome to the %s IRC Network %s", ServerInstance->Config->Network.c_str(), user->GetFullRealHost().c_str()));
-               user->WriteNumeric(RPL_YOURHOST, InspIRCd::Format("Your host is %s, running version %s", ServerInstance->Config->ServerName.c_str(), INSPIRCD_BRANCH));
+               user->WriteNumeric(RPL_YOURHOST, InspIRCd::Format("Your host is %s, running version %s", ServerInstance->Config->GetServerName().c_str(), INSPIRCD_BRANCH));
                user->WriteNumeric(RPL_CREATED, InspIRCd::TimeString(ServerInstance->startup_time, "This server was created %H:%M:%S %b %d %Y"));
                user->WriteNumeric(numeric004);
 
index 1e9c830241670b019c97b498a89ef06fad14e100..0b7cfaa322a5ef014c43799765a5dfec98db9b89 100644 (file)
@@ -77,7 +77,7 @@ class CommandLinks : public Command
         */
        CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE
        {
-               user->WriteNumeric(RPL_LINKS, ServerInstance->Config->ServerName, ServerInstance->Config->ServerName, InspIRCd::Format("0 %s", ServerInstance->Config->ServerDesc.c_str()));
+               user->WriteNumeric(RPL_LINKS, ServerInstance->Config->GetServerName(), ServerInstance->Config->GetServerName(), InspIRCd::Format("0 %s", ServerInstance->Config->GetServerDesc().c_str()));
                user->WriteNumeric(RPL_ENDOFLINKS, '*', "End of /LINKS list.");
                return CMD_SUCCESS;
        }
index bbb78557dfdc1c90104e352b67526c93bead12e1..197ee3ebe28a45d75b32d04bf44374a84b1f4a10 100644 (file)
@@ -26,7 +26,7 @@ class BatchMessage : public ClientProtocol::Message
 {
  public:
        BatchMessage(const IRCv3::Batch::Batch& batch, bool start)
-               : ClientProtocol::Message("BATCH", ServerInstance->Config->ServerName)
+               : ClientProtocol::Message("BATCH", ServerInstance->Config->GetServerName())
        {
                char c = (start ? '+' : '-');
                PushParam(std::string(1, c) + batch.GetRefTagStr());
index 4bc9c2fadde6e422e58d90060d8a4e890bc53788..a408ff1422344ee23365183a81a98e34047c3410 100644 (file)
@@ -228,7 +228,7 @@ public:
                                                topicset = ServerInstance->Time();
                                        std::string topicsetby = tag->getString("topicsetby");
                                        if (topicsetby.empty())
-                                               topicsetby = ServerInstance->Config->ServerName;
+                                               topicsetby = ServerInstance->Config->GetServerName();
                                        c->SetTopic(ServerInstance->FakeClient, topic, topicset, &topicsetby);
                                }
 
index 1fd17c28a9a45805f71e753a2542bdaab15a4c9e..01387c753c85ca7b68e476ac9bc771574ce7ef28 100644 (file)
@@ -144,7 +144,7 @@ void ModuleSpanningTree::ShowLinks(TreeServer* Current, User* user, int hops)
                return;
 
        user->WriteNumeric(RPL_LINKS, Current->GetName(),
-                       (((Utils->FlatLinks) && (!user->IsOper())) ? ServerInstance->Config->ServerName : Parent),
+                       (((Utils->FlatLinks) && (!user->IsOper())) ? ServerInstance->Config->GetServerName() : Parent),
                        InspIRCd::Format("%d %s", (((Utils->FlatLinks) && (!user->IsOper())) ? 0 : hops), Current->GetDesc().c_str()));
 }
 
index 0054e3ed7d46ec4e91aff47a311adad2dcf65de8..bbbc9ba646eaf42501b78e0cf8be2af17e3e128c 100644 (file)
@@ -294,7 +294,7 @@ class ModuleSSLInfo
 
                std::string text = "*** You are connected to ";
                if (!ssliohook->GetServerName(text))
-                       text.append(ServerInstance->Config->ServerName);
+                       text.append(ServerInstance->Config->GetServerName());
                text.append(" using TLS (SSL) cipher '");
                ssliohook->GetCiphersuite(text);
                text.push_back('\'');
index 217d1501da6b089f867b3e678a5985e635d0d6db..dbc51e37c3ee971d5c502c58c4f98ced4e33618b 100644 (file)
@@ -72,7 +72,7 @@ std::string InspIRCd::GetVersionString(bool getFullVersion)
 {
        if (getFullVersion)
                return INSPIRCD_VERSION ". " + Config->ServerName + " :[" + Config->sid + "] " + Config->CustomVersion;
-       return INSPIRCD_BRANCH ". " + Config->ServerName + " :" + Config->CustomVersion;
+       return INSPIRCD_BRANCH ". " + Config->GetServerName() + " :" + Config->CustomVersion;
 }
 
 std::string UIDGenerator::GenerateSID(const std::string& servername, const std::string& serverdesc)
index 812f43113308c504dae4f59eebc448bc1fe86d44..bb325f9eedb235477eb780744ada8b5c3b8f2547 100644 (file)
@@ -369,7 +369,7 @@ void UserManager::ServerNoticeAll(const char* text, ...)
 {
        std::string message;
        VAFORMAT(message, text, text);
-       ClientProtocol::Messages::Privmsg msg(ClientProtocol::Messages::Privmsg::nocopy, ServerInstance->FakeClient, ServerInstance->Config->ServerName, message, MSG_NOTICE);
+       ClientProtocol::Messages::Privmsg msg(ClientProtocol::Messages::Privmsg::nocopy, ServerInstance->FakeClient, ServerInstance->Config->GetServerName(), message, MSG_NOTICE);
        ClientProtocol::Event msgevent(ServerInstance->GetRFCEvents().privmsg, msg);
 
        for (LocalList::const_iterator i = local_users.begin(); i != local_users.end(); ++i)