X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fuid.cpp;h=0768ec16f8d34eff09ba01d76776c1f06338704c;hb=4798f98adad084cf9e207cc7b32d7e4370e9cc90;hp=73648fb9d69b76996f2cebc8ded41b4a3b56d1e6;hpb=4516e75176036338f2d165eae3097c9a8d25f6c3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/uid.cpp b/src/modules/m_spanningtree/uid.cpp index 73648fb9d..0768ec16f 100644 --- a/src/modules/m_spanningtree/uid.cpp +++ b/src/modules/m_spanningtree/uid.cpp @@ -43,13 +43,13 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque &pa return true; } - time_t age = ConvToInt(params[1]); + time_t age_t = ConvToInt(params[1]); time_t signon = ConvToInt(params[8]); const char* tempnick = params[2].c_str(); std::string empty; /* XXX probably validate UID length too -- w00t */ - cmd_validation valid[] = { {"Nickname", 2, NICKMAX}, {"Hostname", 3, 64}, {"Displayed hostname", 4, 64}, {"Ident", 5, IDENTMAX}, {"GECOS", 9, MAXGECOS}, {"", 0, 0} }; + cmd_validation valid[] = { {"Nickname", 2, NICKMAX}, {"Hostname", 3, 64}, {"Displayed hostname", 4, 64}, {"Ident", 5, IDENTMAX + 1}, {"GECOS", 9, MAXGECOS}, {"", 0, 0} }; TreeServer* remoteserver = Utils->FindServer(source); @@ -60,7 +60,7 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque &pa } /* Check parameters for validity before introducing the client, discovered by dmb */ - if (!age) + if (!age_t) { this->WriteLine(std::string(":")+this->Instance->Config->GetSID()+" KILL "+params[0]+" :Invalid client introduction (Invalid TS?)"); return true; @@ -85,7 +85,7 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque &pa * Nick collision. */ Instance->Log(DEBUG,"*** Collision on %s", tempnick); - int collide = this->DoCollision(iter->second, age, params[5].c_str(), params[7].c_str(), params[0].c_str()); + int collide = this->DoCollision(iter->second, age_t, params[5].c_str(), params[7].c_str(), params[0].c_str()); if (collide == 2) { @@ -117,7 +117,7 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque &pa strlcpy(_new->fullname, params[9].c_str(),MAXGECOS); _new->registered = REG_ALL; _new->signon = signon; - _new->age = age; + _new->age = age_t; /* we need to remove the + from the modestring, so we can do our stuff */ std::string::size_type pos_after_plus = params[6].find_first_not_of('+');