From: w00t Date: Fri, 14 Aug 2009 20:43:46 +0000 (+0000) Subject: Make ident handling consistant: use ChangeIdent for all ident manipulation. This... X-Git-Tag: v2.0.23~1716 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=0740e2b8e5d619bb3babbd143e99d8a77a9062ec;p=user%2Fhenk%2Fcode%2Finspircd.git Make ident handling consistant: use ChangeIdent for all ident manipulation. This fixes cache bugs properly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11518 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/src/commands/cmd_user.cpp b/src/commands/cmd_user.cpp index e2777e8c8..833a9b275 100644 --- a/src/commands/cmd_user.cpp +++ b/src/commands/cmd_user.cpp @@ -40,7 +40,7 @@ CmdResult CommandUser::Handle (const std::vector& parameters, User * ~ character, and +1 for null termination, therefore we can safely use up to * IDENTMAX here. */ - user->ident.assign(parameters[0], 0, ServerInstance->Config->Limits.IdentMax); + user->ChangeIdent(parameters[0].c_str()); user->fullname.assign(parameters[3].empty() ? std::string("No info") : parameters[3], 0, ServerInstance->Config->Limits.MaxGecos); user->registered = (user->registered | REG_USER); } diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp index 71767e554..d5ca20836 100644 --- a/src/modules/m_ident.cpp +++ b/src/modules/m_ident.cpp @@ -452,9 +452,7 @@ class ModuleIdent : public Module user->WriteServ("NOTICE Auth :*** Could not find your ident, using %s instead.", isock->GetResult()); /* Copy the ident string to the user */ - std::string ident; - ident.assign(isock->GetResult(), 0, ServerInstance->Config->Limits.IdentMax + 1); - user->ChangeIdent(ident.c_str()); + user->ChangeIdent(isock->GetResult()); /* The user isnt actually disconnecting, we call this to clean up the user */ OnUserDisconnect(user);