]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/configreader.cpp
Refactor port binding, warning not yet tested fully
[user/henk/code/inspircd.git] / src / configreader.cpp
index f22f5f7b47eea1da213ec848515bbee90492938f..1bc530b9b3c21f857bbe32fc8f104b7677c146de 100644 (file)
@@ -25,7 +25,7 @@ ServerConfig::ServerConfig(InspIRCd* Instance) : ServerInstance(Instance)
 {
        this->ClearStack();
        *ServerName = *Network = *ServerDesc = *AdminName = '\0';
-       *HideWhoisServer = *AdminEmail = *AdminNick = *diepass = *restartpass = *FixedQuit = '\0';
+       *HideWhoisServer = *AdminEmail = *AdminNick = *diepass = *restartpass = *FixedQuit = *HideKillsServer = '\0';
        *CustomVersion = *motd = *rules = *PrefixQuit = *DieValue = *DNSServer = '\0';
        *UserStats = *ModPath = *MyExecutable = *DisabledCommands = *PID = *SuffixQuit = '\0';
        WhoWasGroupSize = WhoWasMaxGroups = WhoWasMaxKeep = 0;
@@ -202,13 +202,13 @@ bool InitializeDisabledCommands(const char* data, InspIRCd* ServerInstance)
        std::string thiscmd;
 
        /* Enable everything first */
-       for (nspace::hash_map<std::string,command_t*>::iterator x = ServerInstance->Parser->cmdlist.begin(); x != ServerInstance->Parser->cmdlist.end(); x++)
+       for (command_table::iterator x = ServerInstance->Parser->cmdlist.begin(); x != ServerInstance->Parser->cmdlist.end(); x++)
                x->second->Disable(false);
 
        /* Now disable all the ones which the user wants disabled */
        while (dcmds >> thiscmd)
        {
-               nspace::hash_map<std::string,command_t*>::iterator cm = ServerInstance->Parser->cmdlist.find(thiscmd);
+               command_table::iterator cm = ServerInstance->Parser->cmdlist.find(thiscmd);
                if (cm != ServerInstance->Parser->cmdlist.end())
                {
                        cm->second->Disable(true);
@@ -604,6 +604,7 @@ void ServerConfig::Read(bool bail, userrec* user)
                {"options",     "hidesplits",   "0",                    new ValueContainerBool (&this->HideSplits),             DT_BOOLEAN, NoValidation},
                {"options",     "hidebans",     "0",                    new ValueContainerBool (&this->HideBans),               DT_BOOLEAN, NoValidation},
                {"options",     "hidewhois",    "",                     new ValueContainerChar (this->HideWhoisServer),         DT_CHARPTR, NoValidation},
+               {"options", "hidekills",    "",         new ValueContainerChar (this->HideKillsServer),     DT_CHARPTR, NoValidation},
                {"options",     "operspywhois", "0",                    new ValueContainerBool (&this->OperSpyWhois),           DT_BOOLEAN, NoValidation},
                {"options",     "nouserdns",    "0",                    new ValueContainerBool (&this->NoUserDns),              DT_BOOLEAN, NoValidation},
                {"options",     "syntaxhints",  "0",                    new ValueContainerBool (&this->SyntaxHints),            DT_BOOLEAN, NoValidation},
@@ -845,12 +846,12 @@ void ServerConfig::Read(bool bail, userrec* user)
        {
                int found_ports = 0;
                FailedPortList pl;
-               ServerInstance->stats->BoundPortCount = ServerInstance->BindPorts(false, found_ports, pl);
+               ServerInstance->BindPorts(false, found_ports, pl);
 
                if (pl.size())
                {
                        user->WriteServ("NOTICE %s :*** Not all your client ports could be bound.", user->nick);
-                       user->WriteServ("NOTICE %s :*** The following port%s failed to bind:", user->nick, found_ports - ServerInstance->stats->BoundPortCount != 1 ? "s" : "");
+                       user->WriteServ("NOTICE %s :*** The following port(s) failed to bind:", user->nick);
                        int j = 1;
                        for (FailedPortList::iterator i = pl.begin(); i != pl.end(); i++, j++)
                        {