]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Change SetClientIP to take a C++ string instead of a char array.
[user/henk/code/inspircd.git] / src / users.cpp
index 7d72692d9284103eb55403660fcdcbdb6a06cc57..9fef906d16d83de783acfe89e93de293563443bf 100644 (file)
@@ -541,8 +541,8 @@ void LocalUser::FullConnect()
        this->WriteNumeric(RPL_YOURHOSTIS, InspIRCd::Format("Your host is %s, running version %s", ServerInstance->Config->ServerName.c_str(), INSPIRCD_BRANCH));
        this->WriteNumeric(RPL_SERVERCREATED, InspIRCd::TimeString(ServerInstance->startup_time, "This server was created %H:%M:%S %b %d %Y"));
 
-       const std::string& modelist = ServerInstance->Modes->GetModeListFor004Numeric();
-       this->WriteNumeric(RPL_SERVERVERSION, ServerInstance->Config->ServerName, INSPIRCD_BRANCH, modelist);
+       const TR1NS::array<std::string, 3>& modelist = ServerInstance->Modes->GetModeListFor004Numeric();
+       this->WriteNumeric(RPL_SERVERVERSION, ServerInstance->Config->ServerName, INSPIRCD_BRANCH, modelist[0], modelist[1], modelist[2]);
 
        ServerInstance->ISupport.SendTo(this);
 
@@ -707,10 +707,10 @@ irc::sockets::cidr_mask User::GetCIDRMask()
        return irc::sockets::cidr_mask(client_sa, range);
 }
 
-bool User::SetClientIP(const char* sip, bool recheck_eline)
+bool User::SetClientIP(const std::string& address, bool recheck_eline)
 {
        this->InvalidateCache();
-       return irc::sockets::aptosa(sip, 0, client_sa);
+       return irc::sockets::aptosa(address, 0, client_sa);
 }
 
 void User::SetClientIP(const irc::sockets::sockaddrs& sa, bool recheck_eline)
@@ -720,10 +720,10 @@ void User::SetClientIP(const irc::sockets::sockaddrs& sa, bool recheck_eline)
        memcpy(&client_sa, &sa, sizeof(irc::sockets::sockaddrs));
 }
 
-bool LocalUser::SetClientIP(const char* sip, bool recheck_eline)
+bool LocalUser::SetClientIP(const std::string& address, bool recheck_eline)
 {
        irc::sockets::sockaddrs sa;
-       if (!irc::sockets::aptosa(sip, 0, sa))
+       if (!irc::sockets::aptosa(address, 0, sa))
                // Invalid
                return false;
 
@@ -1172,13 +1172,11 @@ ConnectClass::ConnectClass(ConfigTag* tag, char t, const std::string& mask)
 }
 
 ConnectClass::ConnectClass(ConfigTag* tag, char t, const std::string& mask, const ConnectClass& parent)
-       : config(tag), type(t), fakelag(parent.fakelag), name("unnamed"),
-       registration_timeout(parent.registration_timeout), host(mask), pingtime(parent.pingtime),
-       softsendqmax(parent.softsendqmax), hardsendqmax(parent.hardsendqmax), recvqmax(parent.recvqmax),
-       penaltythreshold(parent.penaltythreshold), commandrate(parent.commandrate),
-       maxlocal(parent.maxlocal), maxglobal(parent.maxglobal), maxconnwarn(parent.maxconnwarn), maxchans(parent.maxchans),
-       limit(parent.limit), resolvehostnames(parent.resolvehostnames), ports(parent.ports)
 {
+       Update(&parent);
+       name = "unnamed";
+       type = t;
+       config = tag;
 }
 
 void ConnectClass::Update(const ConnectClass* src)