userrec::QuitUser(Instance, _new,"Server is full");
return;
}
- char* e = Instance->XLines->matches_exception(_new);
+ ELine* e = Instance->XLines->matches_exception(_new);
if (!e)
{
- char* r = Instance->XLines->matches_zline(ipaddr);
+ ZLine* r = Instance->XLines->matches_zline(ipaddr);
if (r)
{
char reason[MAXBUF];
- snprintf(reason,MAXBUF,"Z-Lined: %s",r);
+ snprintf(reason,MAXBUF,"Z-Lined: %s",r->reason);
userrec::QuitUser(Instance, _new,reason);
return;
}
long userrec::GlobalCloneCount()
{
- char u1[1024] = {0};
- char u2[1024] = {0};
+ char u1[128] = {0};
+ char u2[128] = {0};
long x = 0;
+
+ this->GetIPString(u2);
+
for (user_hash::const_iterator a = ServerInstance->clientlist.begin(); a != ServerInstance->clientlist.end(); a++)
{
/* We have to match ip's as strings - we don't know what protocol
* a remote user may be using
*/
- if (!strcasecmp(a->second->GetIPString(u1), this->GetIPString(u2)))
- x++;
+ if (strcmp(a->second->GetIPString(u1), u2) == 0)
+ x++;
}
+
return x;
}
return;
}
- char match_against[MAXBUF];
- snprintf(match_against,MAXBUF,"%s@%s", this->ident, this->host);
- char* e = ServerInstance->XLines->matches_exception(this);
+ ELine* e = ServerInstance->XLines->matches_exception(this);
if (!e)
{
- char* r = ServerInstance->XLines->matches_gline(this);
+ GLine* r = ServerInstance->XLines->matches_gline(this);
if (r)
{
char reason[MAXBUF];
- snprintf(reason,MAXBUF,"G-Lined: %s",r);
+ snprintf(reason,MAXBUF,"G-Lined: %s",r->reason);
Goners->AddItem(this, reason);
return;
}
- r = ServerInstance->XLines->matches_kline(this);
+ KLine* n = ServerInstance->XLines->matches_kline(this);
- if (r)
+ if (n)
{
char reason[MAXBUF];
- snprintf(reason,MAXBUF,"K-Lined: %s",r);
+ snprintf(reason,MAXBUF,"K-Lined: %s",n->reason);
Goners->AddItem(this, reason);
return;
}
{
if ((*i)->channel)
{
- (*i)->channel->WriteAllExceptSender(this, 0, "JOIN %s", (*i)->channel->name);
+ (*i)->channel->WriteAllExceptSender(this, false, 0, "JOIN %s", (*i)->channel->name);
std::string n = this->ServerInstance->Modes->ModeString(this, (*i)->channel);
- if (n.length())
- (*i)->channel->WriteChannelWithServ(this->ServerInstance->Config->ServerName, "MODE %s +%s", (*i)->channel->name, n.c_str());
+ if (n.length() > 0)
+ (*i)->channel->WriteAllExceptSender(this, true, 0, "MODE %s +%s", (*i)->channel->name, n.c_str());
}
}
}
{
if ((*i)->channel)
{
- (*i)->channel->WriteAllExceptSender(this, 0, "JOIN %s", (*i)->channel->name);
+ (*i)->channel->WriteAllExceptSender(this, false, 0, "JOIN %s", (*i)->channel->name);
std::string n = this->ServerInstance->Modes->ModeString(this, (*i)->channel);
- if (n.length())
- (*i)->channel->WriteChannelWithServ(this->ServerInstance->Config->ServerName, "MODE %s +%s", (*i)->channel->name, n.c_str());
+ if (n.length() > 0)
+ (*i)->channel->WriteAllExceptSender(this, true, 0, "MODE %s +%s", (*i)->channel->name, n.c_str());
}
}
}