void add_gline(long duration, char* source, char* reason, char* hostmask)
{
+ del_gline(hostmask);
GLine item;
item.duration = duration;
strncpy(item.hostmask,hostmask,MAXBUF);
void add_qline(long duration, char* source, char* reason, char* nickname)
{
+ del_qline(nickname);
QLine item;
item.duration = duration;
strncpy(item.nick,nickname,MAXBUF);
void add_zline(long duration, char* source, char* reason, char* ipaddr)
{
+ del_zline(ipaddr);
ZLine item;
item.duration = duration;
strncpy(item.ipaddr,ipaddr,MAXBUF);
void add_kline(long duration, char* source, char* reason, char* hostmask)
{
+ del_kline(hostmask);
KLine item;
item.duration = duration;
strncpy(item.hostmask,hostmask,MAXBUF);
return NULL;
}
+void gline_set_creation_time(char* host, time_t create_time)
+{
+ for (std::vector<GLine>::iterator i = glines.begin(); i != glines.end(); i++)
+ {
+ if (!strcasecmp(host,i->hostmask))
+ {
+ i->set_time = create_time;
+ return;
+ }
+ }
+ return ;
+}
+
+void qline_set_creation_time(char* nick, time_t create_time)
+{
+ for (std::vector<QLine>::iterator i = qlines.begin(); i != qlines.end(); i++)
+ {
+ if (!strcasecmp(nick,i->nick))
+ {
+ i->set_time = create_time;
+ return;
+ }
+ }
+ return ;
+}
+
+void zline_set_creation_time(char* ip, time_t create_time)
+{
+ for (std::vector<ZLine>::iterator i = zlines.begin(); i != zlines.end(); i++)
+ {
+ if (!strcasecmp(ip,i->ipaddr))
+ {
+ i->set_time = create_time;
+ return;
+ }
+ }
+ return ;
+}
+
// returns a pointer to the reason if an ip address matches a zline, NULL if it didnt match
char* matches_zline(const char* ipaddr)
}
}
+void stats_k(userrec* user)
+{
+ for (std::vector<KLine>::iterator i = klines.begin(); i != klines.end(); i++)
+ {
+ WriteServ(user->fd,"216 %s :%s %d %d %s %s",user->nick,i->hostmask,i->set_time,i->duration,i->source,i->reason);
+ }
+}
+
+void stats_g(userrec* user)
+{
+ for (std::vector<GLine>::iterator i = glines.begin(); i != glines.end(); i++)
+ {
+ WriteServ(user->fd,"223 %s :%s %d %d %s %s",user->nick,i->hostmask,i->set_time,i->duration,i->source,i->reason);
+ }
+}
+
+void stats_q(userrec* user)
+{
+ for (std::vector<QLine>::iterator i = qlines.begin(); i != qlines.end(); i++)
+ {
+ WriteServ(user->fd,"217 %s :%s %d %d %s %s",user->nick,i->nick,i->set_time,i->duration,i->source,i->reason);
+ }
+}
+
+void stats_z(userrec* user)
+{
+ for (std::vector<ZLine>::iterator i = zlines.begin(); i != zlines.end(); i++)
+ {
+ WriteServ(user->fd,"223 %s :%s %d %d %s %s",user->nick,i->ipaddr,i->set_time,i->duration,i->source,i->reason);
+ }
+}
+
+