sendq = "";
WriteError = "";
res_forward = res_reverse = NULL;
+ Visibility = NULL;
ip = NULL;
chans.clear();
invites.clear();
return;
}
- if (this->LocalCloneCount() > a->GetMaxLocal())
+ if ((a->GetMaxLocal()) && (this->LocalCloneCount() > a->GetMaxLocal()))
{
this->muted = true;
ServerInstance->GlobalCulls.AddItem(this, "No more connections allowed from your host via this connect class (local)");
ServerInstance->WriteOpers("*** WARNING: maximum LOCAL connections (%ld) exceeded for IP %s", a->GetMaxLocal(), this->GetIPString());
return;
}
- else if (this->GlobalCloneCount() > a->GetMaxGlobal())
+ else if ((a->GetMaxGlobal()) && (this->GlobalCloneCount() > a->GetMaxGlobal()))
{
this->muted = true;
ServerInstance->GlobalCulls.AddItem(this, "No more connections allowed from your host via this connect class (global)");
if (ServerInstance->unregistered_count)
ServerInstance->unregistered_count--;
+ /* Trigger LUSERS output, give modules a chance too */
+ int MOD_RESULT = 0;
+ FOREACH_RESULT(I_OnPreCommand, OnPreCommand("LUSERS", NULL, 0, this, true, "LUSERS"));
+ if (!MOD_RESULT)
+ ServerInstance->CallCommandHandler("LUSERS", NULL, 0, this);
+
/*
* fix 3 by brain, move registered = 7 below these so that spurious modes and host
* changes dont go out onto the network and produce 'fake direction'.
if (this->GetPort() == i->GetPort())
return &(*i);
else
- return NULL;
+ continue;
}
else
return &(*i);
return operquit ? operquit : "";
}
+VisData::VisData()
+{
+}
+
+VisData::~VisData()
+{
+}
+
+bool VisData::VisibleTo(userrec* user)
+{
+ return true;
+}