- char itrigger[MAXBUF];
- long matches = 0;
-
- if (!Config->ConfValue("insane","trigger",0,itrigger,MAXBUF))
- strlcpy(itrigger,"95.5",MAXBUF);
-
- if (Config->ConfValueBool("insane","ipmasks",0))
- return false;
-
- for (user_hash::iterator u = this->Users->clientlist->begin(); u != this->Users->clientlist->end(); u++)
- {
- if (InspIRCd::Match(u->second->GetIPString(), ip, ascii_case_insensitive_map))
- matches++;
- }
-
- if (!matches)
- return false;
-
- float percent = ((float)matches / (float)this->Users->clientlist->size()) * 100;
- if (percent > (float)atof(itrigger))
- {
- SNO->WriteToSnoMask('a', "\2WARNING\2: %s tried to set a Z line mask of %s, which covers %.2f%% of the network!",user->nick.c_str(),ip.c_str(),percent);
- return true;
- }
- return false;