- if (curr->GetWriteError() != "")
- {
- log(DEBUG,"InspIRCd: write error: %s",curr->GetWriteError().c_str());
- GlobalGoners->AddItem(curr,curr->GetWriteError());
- continue;
- }
- // registration timeout -- didnt send USER/NICK/HOST in the time specified in
- // their connection class.
- if (((unsigned)TIME > (unsigned)curr->timeout) && (curr->registered != 7))
- {
- log(DEBUG,"InspIRCd: registration timeout: %s",curr->nick);
- GlobalGoners->AddItem(curr,"Registration timeout");
- continue;
- }
- if ((TIME > curr->signon) && (curr->registered == 3) && (AllModulesReportReady(curr)))
- {
- log(DEBUG,"signon exceed, registered=3, and modules ready, OK: %d %d",TIME,curr->signon);
- curr->dns_done = true;
- ServerInstance->stats->statsDnsBad++;
- FullConnectUser(curr,GlobalGoners);
- continue;
- }
- if ((curr->dns_done) && (curr->registered == 3) && (AllModulesReportReady(curr)))
- {
- log(DEBUG,"dns done, registered=3, and modules ready, OK");
- FullConnectUser(curr,GlobalGoners);
- continue;
- }
- if ((TIME > curr->nping) && (isnick(curr->nick)) && (curr->registered == 7))
- {
- if ((!curr->lastping) && (curr->registered == 7))
- {
- log(DEBUG,"InspIRCd: ping timeout: %s",curr->nick);
- GlobalGoners->AddItem(curr,"Ping timeout");
- continue;
- }
- Write(curr->fd,"PING :%s",Config->ServerName);
- log(DEBUG,"InspIRCd: pinging: %s",curr->nick);
- curr->lastping = 0;
- curr->nping = TIME+curr->pingmax; // was hard coded to 120
- }
- curr->FlushWriteBuf();
+ log(DEBUG,"InspIRCd: registration timeout: %s",curr->nick);
+ GlobalGoners->AddItem(curr,"Registration timeout");
+ continue;
+ }
+ // 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)))
+ {
+ curr->dns_done = true;
+ ServerInstance->stats->statsDnsBad++;
+ FullConnectUser(curr,GlobalGoners);
+ continue;
+ }
+ if ((curr->dns_done) && (curr->registered == 3) && (AllModulesReportReady(curr)))
+ {
+ log(DEBUG,"dns done, registered=3, and modules ready, OK");
+ FullConnectUser(curr,GlobalGoners);
+ continue;