X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fusers.cpp;h=c892c51f50231e1d1ccc93c8bd4c73d6816ba2e1;hb=44ac35082c222e8778405aae01d9e5b7884a5491;hp=45052e8cb60ca28302339b59f534f14a1c734a18;hpb=12427e75fe175fe7a62f388281dd7ab5100c9dda;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/users.cpp b/src/users.cpp index 45052e8cb..c892c51f5 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -210,9 +210,9 @@ User::User(InspIRCd* Instance, const std::string &uid) : ServerInstance(Instance memset(snomasks,0,sizeof(snomasks)); if (uid.empty()) - uuid.assign(Instance->GetUID(), 0, UUID_LENGTH); + uuid.assign(Instance->GetUID(), 0, UUID_LENGTH - 1); else - uuid.assign(uid, 0, UUID_LENGTH); + uuid.assign(uid, 0, UUID_LENGTH - 1); ServerInstance->Logs->Log("USERS", DEBUG,"New UUID for user: %s (%s)", uuid.c_str(), uid.empty() ? "allocated new" : "used remote"); @@ -721,7 +721,7 @@ void User::Oper(const std::string &opertype, const std::string &opername) this->WriteServ("MODE %s :+o", this->nick.c_str()); FOREACH_MOD(I_OnOper, OnOper(this, opertype)); ServerInstance->Logs->Log("OPER", DEFAULT, "%s!%s@%s opered as type: %s", this->nick.c_str(), this->ident.c_str(), this->host.c_str(), opertype.c_str()); - this->oper.assign(opertype, 0, NICKMAX - 1); + this->oper.assign(opertype, 0, ServerInstance->Config->Limits.NickMax); ServerInstance->Users->all_opers.push_back(this); opertype_t::iterator iter_opertype = ServerInstance->Config->opertypes.find(this->oper.c_str()); @@ -1521,14 +1521,14 @@ bool User::ChangeName(const char* gecos) return false; FOREACH_MOD(I_OnChangeName,OnChangeName(this,gecos)); } - this->fullname.assign(gecos, 0, MAXGECOS+1); + this->fullname.assign(gecos, 0, ServerInstance->Config->Limits.MaxGecos); return true; } bool User::ChangeDisplayedHost(const char* shost) { - if (!this->dhost.compare(shost)) + if (dhost == shost) return true; if (IS_LOCAL(this)) @@ -1552,10 +1552,10 @@ bool User::ChangeDisplayedHost(const char* shost) { for (UCListIter i = this->chans.begin(); i != this->chans.end(); i++) { - i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name); + i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name.c_str()); std::string n = this->ServerInstance->Modes->ModeString(this, i->first); if (n.length() > 0) - i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name, n.c_str()); + i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name.c_str(), n.c_str()); } } @@ -1573,7 +1573,7 @@ bool User::ChangeIdent(const char* newident) if (this->ServerInstance->Config->CycleHosts) this->WriteCommonExcept("%s","QUIT :Changing ident"); - this->ident.assign(newident, 0, IDENTMAX + 1); + this->ident.assign(newident, 0, ServerInstance->Config->Limits.IdentMax + 1); this->InvalidateCache(); @@ -1581,10 +1581,10 @@ bool User::ChangeIdent(const char* newident) { for (UCListIter i = this->chans.begin(); i != this->chans.end(); i++) { - i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name); + i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name.c_str()); std::string n = this->ServerInstance->Modes->ModeString(this, i->first); if (n.length() > 0) - i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name, n.c_str()); + i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name.c_str(), n.c_str()); } }