From 5afa330604799b1a5467b7e09e53c95f3198d2e6 Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 27 Aug 2007 00:12:59 +0000 Subject: [PATCH] UUID is now generated and set on client add, and shown after 005 via numeric 042: %s :your unique ID. This also replaces the fd-unknown style of nicks we used prior to recieving NICK from a client, just because it looks tidier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7848 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/users.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/users.cpp b/src/users.cpp index 1dbdb5b40..b76df8ac5 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -858,7 +858,9 @@ void userrec::AddToWhoWas() /* add a client connection to the sockets list */ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, int socketfamily, sockaddr* ip) { - std::string tempnick = ConvToStr(socket) + "-unknown"; + std::string tempnick = Instance->GetUID(); + + Instance->Log(DEBUG,"New client has UID %s ..", tempnick.c_str()); user_hash::iterator iter = Instance->clientlist->find(tempnick); char ipaddr[MAXBUF]; #ifdef IPV6 @@ -891,7 +893,8 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, New = new userrec(Instance); (*(Instance->clientlist))[tempnick] = New; New->fd = socket; - strlcpy(New->nick,tempnick.c_str(),NICKMAX-1); + strlcpy(New->nick, tempnick.c_str(), NICKMAX - 1); + strlcpy(New->uuid, tempnick.c_str(), UUID_LENGTH); New->server = Instance->FindServerNamePtr(Instance->Config->ServerName); /* We don't need range checking here, we KNOW 'unknown\0' will fit into the ident field. */ @@ -1098,6 +1101,9 @@ void userrec::FullConnect() ServerInstance->Config->Send005(this); + this->WriteServ("042 %s %s :your unique ID", this->nick, this->uuid); + + this->ShowMOTD(); /* Now registered */ -- 2.39.5