- Instance->Log(DEBUG,"New user fd: %d", socket);
-
- int j = 0;
-
- Instance->unregistered_count++;
-
- char ipaddr[MAXBUF];
-#ifdef IPV6
- if (socketfamily == AF_INET6)
- inet_ntop(AF_INET6, &((const sockaddr_in6*)ip)->sin6_addr, ipaddr, sizeof(ipaddr));
- else
-#endif
- inet_ntop(AF_INET, &((const sockaddr_in*)ip)->sin_addr, ipaddr, sizeof(ipaddr));
-
- (*(Instance->clientlist))[New->uuid] = New;
- New->SetFd(socket);
-
- /* The users default nick is their UUID */
- strlcpy(New->nick, New->uuid, NICKMAX - 1);
-
- New->server = Instance->FindServerNamePtr(Instance->Config->ServerName);
- /* We don't need range checking here, we KNOW 'unknown\0' will fit into the ident field. */
- strcpy(New->ident, "unknown");
-
- New->registered = REG_NONE;
- New->signon = Instance->Time() + Instance->Config->dns_timeout;
- New->lastping = 1;
-
- New->SetSockAddr(socketfamily, ipaddr, port);
-
- /* Smarter than your average bear^H^H^H^Hset of strlcpys. */
- for (const char* temp = New->GetIPString(); *temp && j < 64; temp++, j++)
- New->dhost[j] = New->host[j] = *temp;
- New->dhost[j] = New->host[j] = 0;
-
- Instance->AddLocalClone(New);
- Instance->AddGlobalClone(New);
-
- /*
- * First class check. We do this again in FullConnect after DNS is done, and NICK/USER is recieved.
- * See my note down there for why this is required. DO NOT REMOVE. :) -- w00t
- */
- ConnectClass* i = New->SetClass();
-
- if (!i)