Change all references to voodoo numbers (7, 3 etc) to the new bitwise constants for user->registered

Change a lot of user->fd > -1 to use the IS_LOCAL() macro


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4569 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
brain 2006-07-28 12:00:25 +00:00
parent 9296aee7bc
commit 95840640cb
16 changed files with 79 additions and 72 deletions

View File

@ -52,6 +52,14 @@ enum UserModes {
UM_OPERATOR = 'o'-65,
};
enum RegistrationState {
REG_NONE = 0, /* Has sent nothing */
REG_USER = 1, /* Has sent USER */
REG_NICK = 2, /* Has sent NICK */
REG_NICKUSER = 3, /* Bitwise combination of REG_NICK and REG_USER */
REG_ALL = 7 /* REG_NICKUSER plus next bit along */
};
/** Holds a channel name to which a user has been invited.
*/
class Invited : public classbase

View File

@ -65,7 +65,7 @@ void cmd_kill::Handle (const char** parameters, int pcnt, userrec *user)
clientlist.erase(iter);
}
if (u->registered == 7)
if (u->registered == REG_ALL)
{
purge_empty_chans(u);
}

View File

@ -79,7 +79,7 @@ void cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
FOREACH_RESULT(I_OnUserPreNick,OnUserPreNick(user,parameters[0]));
if (MOD_RESULT)
return;
if (user->registered == 7)
if (user->registered == REG_ALL)
WriteCommon(user,"NICK %s",parameters[0]);
strlcpy(user->nick, parameters[0], NICKMAX - 1);
FOREACH_MOD(I_OnUserPostNick,OnUserPostNick(user,oldnick));
@ -109,7 +109,7 @@ void cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
return;
}
if (user->registered == 7)
if (user->registered == REG_ALL)
{
int MOD_RESULT = 0;
FOREACH_RESULT(I_OnUserPreNick,OnUserPreNick(user,parameters[0]));
@ -134,9 +134,9 @@ void cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
log(DEBUG,"new nick set: %s",user->nick);
if (user->registered < 3)
if (user->registered < REG_NICKUSER)
{
user->registered = (user->registered | 2);
user->registered = (user->registered | REG_NICK);
// dont attempt to look up the dns until they pick a nick... because otherwise their pointer WILL change
// and unless we're lucky we'll get a duff one later on.
//user->dns_done = (!lookup_dns(user->nick));
@ -165,13 +165,13 @@ void cmd_nick::Handle (const char** parameters, int pcnt, userrec *user)
#endif
}
}
if (user->registered == 3)
if (user->registered == REG_NICKUSER)
{
/* user is registered now, bit 0 = USER command, bit 1 = sent a NICK command */
FOREACH_MOD(I_OnUserRegister,OnUserRegister(user));
//ConnectUser(user,NULL);
}
if (user->registered == 7)
if (user->registered == REG_ALL)
{
FOREACH_MOD(I_OnUserPostNick,OnUserPostNick(user,oldnick));
}

View File

@ -22,7 +22,7 @@
void cmd_pass::Handle (const char** parameters, int pcnt, userrec *user)
{
// Check to make sure they havnt registered -- Fix by FCS
if (user->registered == 7)
if (user->registered == REG_ALL)
{
WriteServ(user->fd,"462 %s :You may not reregister",user->nick);
return;

View File

@ -52,7 +52,7 @@ void cmd_quit::Handle (const char** parameters, int pcnt, userrec *user)
user_hash::iterator iter = clientlist.find(user->nick);
char reason[MAXBUF];
if (user->registered == 7)
if (user->registered == REG_ALL)
{
/* theres more to do here, but for now just close the socket */
if (pcnt == 1)
@ -109,7 +109,7 @@ void cmd_quit::Handle (const char** parameters, int pcnt, userrec *user)
clientlist.erase(iter);
}
if (user->registered == 7) {
if (user->registered == REG_ALL) {
purge_empty_chans(user);
}
if (user->fd > -1)

View File

@ -29,7 +29,7 @@ extern FactoryList factory;
void cmd_user::Handle (const char** parameters, int pcnt, userrec *user)
{
if (user->registered < 3)
if (user->registered < REG_NICKUSER)
{
if (!isident(parameters[0])) {
// This kinda Sucks, According to the RFC thou, its either this,
@ -43,7 +43,7 @@ void cmd_user::Handle (const char** parameters, int pcnt, userrec *user)
*/
snprintf(user->ident, IDENTMAX+1, "~%s", parameters[0]);
strlcpy(user->fullname,parameters[3],MAXGECOS);
user->registered = (user->registered | 1);
user->registered = (user->registered | REG_USER);
}
}
else
@ -52,7 +52,7 @@ void cmd_user::Handle (const char** parameters, int pcnt, userrec *user)
return;
}
/* parameters 2 and 3 are local and remote hosts, ignored when sent by client connection */
if (user->registered == 3)
if (user->registered == REG_NICKUSER)
{
/* user is registered now, bit 0 = USER command, bit 1 = sent a NICK command */
FOREACH_MOD(I_OnUserRegister,OnUserRegister(user));

View File

@ -43,7 +43,7 @@ const char* Spacify(char* n)
void do_whois(userrec* user, userrec* dest,unsigned long signon, unsigned long idle, const char* nick)
{
// bug found by phidjit - were able to whois an incomplete connection if it had sent a NICK or USER
if (dest->registered == 7)
if (dest->registered == REG_ALL)
{
WriteServ(user->fd,"311 %s %s %s %s * :%s",user->nick, dest->nick, dest->ident, dest->dhost, dest->fullname);
if ((user == dest) || (*user->oper))

View File

@ -242,7 +242,7 @@ void CommandParser::ProcessCommand(userrec *user, std::string &cmd)
WriteServ(user->fd,"481 %s :Permission Denied- Oper type %s does not have access to command %s",user->nick,user->oper,command.c_str());
return;
}
if ((user->registered == 7) && (!*user->oper) && (cm->second->IsDisabled()))
if ((user->registered == REG_ALL) && (!*user->oper) && (cm->second->IsDisabled()))
{
/* command is disabled! */
WriteServ(user->fd,"421 %s %s :This command has been disabled.",user->nick,command.c_str());
@ -257,7 +257,7 @@ void CommandParser::ProcessCommand(userrec *user, std::string &cmd)
WriteServ(user->fd,"461 %s %s :Not enough parameters", user->nick, command.c_str());
return;
}
if ((user->registered == 7) || (cm->second == command_user) || (cm->second == command_nick) || (cm->second == command_pass))
if ((user->registered == REG_ALL) || (cm->second == command_user) || (cm->second == command_nick) || (cm->second == command_pass))
{
/* ikky /stats counters */
cm->second->use_count++;

View File

@ -106,12 +106,12 @@ public:
usr = Find(u);
if (usr)
{
if (usr->registered > 3)
if (usr->registered > REG_NICKUSER)
{
usr->dns_done = true;
return true;
}
if ((hostname != "") && (usr->registered != 7))
if ((hostname != "") && (usr->registered != REG_ALL))
{
if ((std::string(inet_ntoa(usr->ip4)) == ip) && (hostname.length() < 65))
{
@ -166,7 +166,7 @@ public:
if (usr)
{
user_fd_to_dns[usr->fd] = NULL;
if ((usr->registered > 3) || (hostname == ""))
if ((usr->registered > REG_NICKUSER) || (hostname == ""))
{
WriteServ(usr->fd,"NOTICE Auth :*** Could not resolve your hostname -- Using your IP address instead");
usr->dns_done = true;
@ -243,7 +243,7 @@ void ZapThisDns(int fd)
#ifdef THREADED_DNS
/* if (fd_ref_table[fd])
{
if (fd_ref_table[fd]->registered >= 3)
if (fd_ref_table[fd]->registered >= REG_NICKUSER)
{
log(DEBUG,"Joining thread for user %d",fd);
if (pthread_join(fd_ref_table[fd]->dnsthread, NULL))

View File

@ -699,7 +699,7 @@ void WriteCommon(userrec *u, char* text, ...)
return;
}
if (u->registered != 7)
if (u->registered != REG_ALL)
{
log(DEFAULT,"*** BUG *** WriteCommon on an unregistered user");
return;
@ -750,7 +750,7 @@ void WriteCommon_NoFormat(userrec *u, const char* text)
return;
}
if (u->registered != 7)
if (u->registered != REG_ALL)
{
log(DEFAULT,"*** BUG *** WriteCommon on an unregistered user");
return;
@ -806,7 +806,7 @@ void WriteCommonExcept(userrec *u, char* text, ...)
return;
}
if (u->registered != 7)
if (u->registered != REG_ALL)
{
log(DEFAULT,"*** BUG *** WriteCommon on an unregistered user");
return;
@ -894,7 +894,7 @@ void WriteCommonExcept_NoFormat(userrec *u, const char* text)
return;
}
if (u->registered != 7)
if (u->registered != REG_ALL)
{
log(DEFAULT,"*** BUG *** WriteCommon on an unregistered user");
return;
@ -1425,7 +1425,7 @@ void send_error(char *s)
for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
{
userrec* t = (userrec*)(*i);
if (t->registered == 7)
if (t->registered == REG_ALL)
{
WriteServ(t->fd,"NOTICE %s :%s",t->nick,s);
}
@ -1485,7 +1485,7 @@ int registered_usercount(void)
for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
{
if (i->second->registered == 7) c++;
c += (i->second->registered == REG_ALL);
}
return c;
@ -1497,8 +1497,7 @@ int usercount_invisible(void)
for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
{
if ((i->second->registered == 7) && (i->second->modes[UM_INVISIBLE]))
c++;
c += ((i->second->registered == REG_ALL) && (i->second->modes[UM_INVISIBLE]));
}
return c;
@ -1523,7 +1522,7 @@ int usercount_unknown(void)
for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
{
userrec* t = (userrec*)(*i);
if (t->registered != 7)
if (t->registered != REG_ALL)
c++;
}
@ -1542,7 +1541,7 @@ long local_count()
for (std::vector<userrec*>::const_iterator i = local_users.begin(); i != local_users.end(); i++)
{
userrec* t = (userrec*)(*i);
if (t->registered == 7)
if (t->registered == REG_ALL)
c++;
}

View File

@ -63,7 +63,7 @@ extern ServerConfig* Config;
int common_channels(userrec *u, userrec *u2)
{
/* TODO: We need to get rid of this arbitary '7' and make bitmask enums for it */
if ((!u) || (!u2) || (u->registered != 7) || (u2->registered != 7))
if ((!u) || (!u2) || (u->registered != REG_ALL) || (u2->registered != REG_ALL))
return 0;
/* Outer loop */

View File

@ -96,7 +96,7 @@ class ModuleAlias : public Module
* and if theyre not registered yet, we dont want
* to know either
*/
if ((validated) || (user->registered != 7))
if ((validated) || (user->registered != REG_ALL))
return 0;
for (unsigned int i = 0; i < Aliases.size(); i++)

View File

@ -97,7 +97,7 @@ public:
virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated)
{
// Don't do anything with unregistered users, or remote ones.
if(!user || (user->registered != 7) || !IS_LOCAL(user))
if(!user || (user->registered != REG_ALL) || !IS_LOCAL(user))
return 0;
// We want case insensitive command comparison.

View File

@ -1502,7 +1502,7 @@ class TreeSocket : public InspSocket
clientlist[tempnick]->server = FindServerNamePtr(source.c_str());
strlcpy(clientlist[tempnick]->ident, params[4].c_str(),IDENTMAX);
strlcpy(clientlist[tempnick]->fullname, params[7].c_str(),MAXGECOS);
clientlist[tempnick]->registered = 7;
clientlist[tempnick]->registered = REG_ALL;
clientlist[tempnick]->signon = age;
for (std::string::iterator v = params[5].begin(); v != params[5].end(); v++)
@ -1714,7 +1714,7 @@ class TreeSocket : public InspSocket
int iterations = 0;
for (user_hash::iterator u = clientlist.begin(); u != clientlist.end(); u++, iterations++)
{
if (u->second->registered == 7)
if (u->second->registered == REG_ALL)
{
snprintf(data,MAXBUF,":%s NICK %lu %s %s %s %s +%s %s :%s",u->second->server,(unsigned long)u->second->age,u->second->nick,u->second->host,u->second->dhost,u->second->ident,u->second->FormatModes(),inet_ntoa(u->second->ip4),u->second->fullname);
this->WriteLine(data);
@ -2172,7 +2172,7 @@ class TreeSocket : public InspSocket
if (params.size() == 1)
{
userrec* x = Srv->FindNick(params[0]);
if ((x) && (x->fd > -1))
if ((x) && (IS_LOCAL(x)))
{
userrec* x = Srv->FindNick(params[0]);
log(DEBUG,"Got IDLE");
@ -2198,14 +2198,14 @@ class TreeSocket : public InspSocket
{
std::string who_did_the_whois = params[0];
userrec* who_to_send_to = Srv->FindNick(who_did_the_whois);
if ((who_to_send_to) && (who_to_send_to->fd > -1))
if ((who_to_send_to) && (IS_LOCAL(who_to_send_to)))
{
log(DEBUG,"Got final IDLE");
// an incoming reply to a whois we sent out
std::string nick_whoised = prefix;
unsigned long signon = atoi(params[1].c_str());
unsigned long idle = atoi(params[2].c_str());
if ((who_to_send_to) && (who_to_send_to->fd > -1))
if ((who_to_send_to) && (IS_LOCAL(who_to_send_to->fd)))
do_whois(who_to_send_to,u,signon,idle,nick_whoised.c_str());
}
else
@ -3477,7 +3477,7 @@ class ModuleSpanningTree : public Module
int HandleTime(const char** parameters, int pcnt, userrec* user)
{
if ((user->fd > -1) && (pcnt))
if ((IS_LOCAL(user)) && (pcnt))
{
TreeServer* found = FindServerMask(parameters[0]);
if (found)
@ -3501,7 +3501,7 @@ class ModuleSpanningTree : public Module
int HandleRemoteWhois(const char** parameters, int pcnt, userrec* user)
{
if ((user->fd > -1) && (pcnt > 1))
if ((IS_LOCAL(user)) && (pcnt > 1))
{
userrec* remote = Srv->FindNick(parameters[1]);
if ((remote) && (remote->fd < 0))
@ -3746,7 +3746,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserInvite(userrec* source,userrec* dest,chanrec* channel)
{
if (source->fd > -1)
if (IS_LOCAL(source))
{
std::deque<std::string> params;
params.push_back(dest->nick);
@ -3765,7 +3765,7 @@ class ModuleSpanningTree : public Module
virtual void OnWallops(userrec* user, const std::string &text)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
params.push_back(":"+text);
@ -3778,7 +3778,7 @@ class ModuleSpanningTree : public Module
if (target_type == TYPE_USER)
{
userrec* d = (userrec*)dest;
if ((d->fd < 0) && (user->fd > -1))
if ((d->fd < 0) && (IS_LOCAL(user)))
{
std::deque<std::string> params;
params.clear();
@ -3789,7 +3789,7 @@ class ModuleSpanningTree : public Module
}
else if (target_type == TYPE_CHANNEL)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
chanrec *c = (chanrec*)dest;
std::string cname = c->name;
@ -3808,7 +3808,7 @@ class ModuleSpanningTree : public Module
}
else if (target_type == TYPE_SERVER)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
char* target = (char*)dest;
std::deque<std::string> par;
@ -3826,7 +3826,7 @@ class ModuleSpanningTree : public Module
// route private messages which are targetted at clients only to the server
// which needs to receive them
userrec* d = (userrec*)dest;
if ((d->fd < 0) && (user->fd > -1))
if ((d->fd < 0) && (IS_LOCAL(user)))
{
std::deque<std::string> params;
params.clear();
@ -3837,7 +3837,7 @@ class ModuleSpanningTree : public Module
}
else if (target_type == TYPE_CHANNEL)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
chanrec *c = (chanrec*)dest;
std::string cname = c->name;
@ -3856,7 +3856,7 @@ class ModuleSpanningTree : public Module
}
else if (target_type == TYPE_SERVER)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
char* target = (char*)dest;
std::deque<std::string> par;
@ -3876,7 +3876,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserJoin(userrec* user, chanrec* channel)
{
// Only do this for local users
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
params.clear();
@ -3905,7 +3905,7 @@ class ModuleSpanningTree : public Module
virtual void OnChangeHost(userrec* user, const std::string &newhost)
{
// only occurs for local clients
if (user->registered != 7)
if (user->registered != REG_ALL)
return;
std::deque<std::string> params;
params.push_back(newhost);
@ -3915,7 +3915,7 @@ class ModuleSpanningTree : public Module
virtual void OnChangeName(userrec* user, const std::string &gecos)
{
// only occurs for local clients
if (user->registered != 7)
if (user->registered != REG_ALL)
return;
std::deque<std::string> params;
params.push_back(gecos);
@ -3924,7 +3924,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserPart(userrec* user, chanrec* channel, const std::string &partmessage)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
params.push_back(channel->name);
@ -3937,7 +3937,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserConnect(userrec* user)
{
char agestr[MAXBUF];
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
snprintf(agestr,MAXBUF,"%lu",(unsigned long)user->age);
@ -3963,7 +3963,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserQuit(userrec* user, const std::string &reason)
{
if ((user->fd > -1) && (user->registered == 7))
if ((IS_LOCAL(user)) && (user->registered == REG_ALL))
{
std::deque<std::string> params;
params.push_back(":"+reason);
@ -3980,7 +3980,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserPostNick(userrec* user, const std::string &oldnick)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
params.push_back(user->nick);
@ -3990,7 +3990,7 @@ class ModuleSpanningTree : public Module
virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, const std::string &reason)
{
if ((source) && (source->fd > -1))
if ((source) && (IS_LOCAL(source->fd)))
{
std::deque<std::string> params;
params.push_back(chan->name);
@ -4038,7 +4038,7 @@ class ModuleSpanningTree : public Module
// locally.
virtual void OnOper(userrec* user, const std::string &opertype)
{
if (user->fd > -1)
if (IS_LOCAL(user))
{
std::deque<std::string> params;
params.push_back(opertype);
@ -4048,7 +4048,7 @@ class ModuleSpanningTree : public Module
void OnLine(userrec* source, const std::string &host, bool adding, char linetype, long duration, const std::string &reason)
{
if (source->fd > -1)
if (IS_LOCAL(source))
{
char type[8];
snprintf(type,8,"%cLINE",linetype);
@ -4114,7 +4114,7 @@ class ModuleSpanningTree : public Module
virtual void OnMode(userrec* user, void* dest, int target_type, const std::string &text)
{
if ((user->fd > -1) && (user->registered == 7))
if ((IS_LOCAL(user)) && (user->registered == REG_ALL))
{
if (target_type == TYPE_USER)
{

View File

@ -147,7 +147,7 @@ void ProcessUser(userrec* cu)
if (!current->AddBuffer(data))
{
// AddBuffer returned false, theres too much data in the user's buffer and theyre up to no good.
if (current->registered == 7)
if (current->registered == REG_ALL)
{
// Make sure they arn't flooding long lines.
if (TIME > current->reset_due)
@ -184,7 +184,7 @@ void ProcessUser(userrec* cu)
if (current->recvq.length() > (unsigned)Config->NetBufferSize)
{
if (current->registered == 7)
if (current->registered == REG_ALL)
{
kill_link(current,"RecvQ exceeded");
}
@ -218,7 +218,7 @@ void ProcessUser(userrec* cu)
if ((++floodlines > current->flood) && (current->flood != 0))
{
if (current->registered == 7)
if (current->registered == REG_ALL)
{
log(DEFAULT,"Excess flood from: %s!%s@%s",current->nick,current->ident,current->host);
WriteOpers("*** Excess flood from: %s!%s@%s",current->nick,current->ident,current->host);
@ -340,7 +340,7 @@ void DoBackgroundUserStuff(time_t TIME)
* registration timeout -- didnt send USER/NICK/HOST
* in the time specified in their connection class.
*/
if (((unsigned)TIME > (unsigned)curr->timeout) && (curr->registered != 7))
if (((unsigned)TIME > (unsigned)curr->timeout) && (curr->registered != REG_ALL))
{
log(DEBUG,"InspIRCd: registration timeout: %s",curr->nick);
ZapThisDns(curr->fd);
@ -352,7 +352,7 @@ void DoBackgroundUserStuff(time_t TIME)
* user has signed on with USER/NICK/PASS, and dns has completed, all the modules
* say this user is ok to proceed, fully connect them.
*/
if ((TIME > curr->signon) && (curr->registered == 3) && (AllModulesReportReady(curr)))
if ((TIME > curr->signon) && (curr->registered == REG_NICKUSER) && (AllModulesReportReady(curr)))
{
curr->dns_done = true;
ZapThisDns(curr->fd);
@ -365,7 +365,7 @@ void DoBackgroundUserStuff(time_t TIME)
/* Somebody blatted this user in OnCheckReady (!) */
continue;
if ((curr->dns_done) && (curr->registered == 3) && (AllModulesReportReady(curr)))
if ((curr->dns_done) && (curr->registered == REG_NICKUSER) && (AllModulesReportReady(curr)))
{
log(DEBUG,"dns done, registered=3, and modules ready, OK");
FullConnectUser(curr,&GlobalGoners);
@ -378,7 +378,7 @@ void DoBackgroundUserStuff(time_t TIME)
continue;
// It's time to PING this user. Send them a ping.
if ((TIME > curr->nping) && (curr->registered == 7))
if ((TIME > curr->nping) && (curr->registered == REG_ALL))
{
// This user didn't answer the last ping, remove them
if (!curr->lastping)

View File

@ -220,7 +220,7 @@ userrec::~userrec()
delete x;
}
#ifdef THREADED_DNS
if ((IS_LOCAL(this)) && (!dns_done) && (registered >= 3))
if ((IS_LOCAL(this)) && (!dns_done) && (registered >= REG_NICKUSER))
{
pthread_kill(this->dnsthread, SIGTERM);
}
@ -572,7 +572,7 @@ void kill_link(userrec *user,const char* r)
if (IS_LOCAL(user))
Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
if (user->registered == 7)
if (user->registered == REG_ALL)
{
purge_empty_chans(user);
FOREACH_MOD(I_OnUserQuit,OnUserQuit(user,reason));
@ -610,7 +610,7 @@ void kill_link(userrec *user,const char* r)
* In the current implementation, we only show local quits, as we only show local connects. With
* the proposed implmentation of snomasks however, this will likely change in the (near?) future.
*/
if (user->registered == 7)
if (user->registered == REG_ALL)
{
if (IS_LOCAL(user))
WriteOpers("*** Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason);
@ -742,7 +742,7 @@ void AddClient(int socket, int port, bool iscached, in_addr ip4)
/* We don't need range checking here, we KNOW 'unknown\0' will fit into the ident field. */
strcpy(_new->ident, "unknown");
_new->registered = 0;
_new->registered = REG_NONE;
_new->signon = TIME + Config->dns_timeout;
_new->lastping = 1;
_new->ip4 = ip4;
@ -946,7 +946,7 @@ void FullConnectUser(userrec* user, CullList* Goners)
*/
FOREACH_MOD(I_OnUserConnect,OnUserConnect(user));
FOREACH_MOD(I_OnGlobalConnect,OnGlobalConnect(user));
user->registered = 7;
user->registered = REG_ALL;
WriteOpers("*** Client connecting on port %lu: %s!%s@%s [%s]",(unsigned long)user->port,user->nick,user->ident,user->host,inet_ntoa(user->ip4));
}
@ -1011,7 +1011,7 @@ void force_nickchange(userrec* user,const char* newnick)
strlcpy(nick,newnick,MAXBUF-1);
}
if (user->registered == 7)
if (user->registered == REG_ALL)
{
const char* pars[1];
pars[0] = nick;