Penalty = 0;
lines_in = lastping = signon = idle_lastmsg = nping = registered = 0;
ChannelCount = timeout = bytes_in = bytes_out = cmds_in = cmds_out = 0;
- is4in6 = quietquit = OverPenalty = ExemptFromPenalty = quitting = exempt = haspassed = dns_done = false;
+ quietquit = OverPenalty = ExemptFromPenalty = quitting = exempt = haspassed = dns_done = false;
fd = -1;
recvq.clear();
sendq.clear();
this->MaxChans = a->GetMaxChans();
}
+void User::CheckLines()
+{
+ const char* check[] = { "G" , "K", NULL };
+
+ if (!this->exempt)
+ {
+ for (int n = 0; check[n]; ++n)
+ {
+ XLine *r = ServerInstance->XLines->MatchesLine(check[n], this);
+
+ if (r)
+ {
+ r->Apply(this);
+ return;
+ }
+ }
+ }
+}
+
void User::FullConnect()
{
ServerInstance->stats->statsConnects++;
return;
}
- if (!this->exempt)
- {
- GLine *r = (GLine *)ServerInstance->XLines->MatchesLine("G", this);
-
- if (r)
- {
- r->Apply(this);
- return;
- }
-
- KLine *n = (KLine *)ServerInstance->XLines->MatchesLine("K", this);
-
- if (n)
- {
- n->Apply(this);
- return;
- }
- }
+ CheckLines();
this->WriteServ("NOTICE Auth :Welcome to \002%s\002!",ServerInstance->Config->Network);
this->WriteNumeric(001, "%s :Welcome to the %s IRC Network %s!%s@%s",this->nick, ServerInstance->Config->Network, this->nick, this->ident, this->host);
ServerInstance->Logs->Log("USERS",DEBUG,"Uh oh, I dont know protocol %d to be set on '%s'!", protocol_family, this->nick);
break;
}
-
- is4in6 = !strncmp(GetIPString(), "0::ffff:", 8);
}
int User::GetPort()
{
strlcpy(&temp[1], buf, sizeof(temp) - 1);
*temp = '0';
- if (translate4in6 && is4in6)
+ if (translate4in6 && !strncmp(temp, "0::ffff:", 8))
{
this->cachedip = temp + 8;
return temp + 8;