if (clientlist.size() == MAXCLIENTS)
kill_link(clientlist[tempnick],"No more connections allowed in this class");
+
+ char* r = matches_zline(ip);
+ if (r)
+ {
+ char reason[MAXBUF];
+ snprintf(reason,MAXBUF,"Z-Lined: %s",r);
+ kill_link(clientlist[tempnick],reason);
+ }
}
return;
}
+ char match_against[MAXBUF];
+ snprintf(match_against,MAXBUF,"%s@%s",user->ident,user->host);
+ char* r = matches_gline(match_against);
+ if (r)
+ {
+ char reason[MAXBUF];
+ snprintf(reason,MAXBUF,"G-Lined: %s",r);
+ kill_link(user,reason);
+ return;
+ }
+
+ r = matches_kline(user->host);
+ if (r)
+ {
+ char reason[MAXBUF];
+ snprintf(reason,MAXBUF,"K-Lined: %s",r);
+ kill_link(user,reason);
+ return;
+ }
+
WriteServ(user->fd,"NOTICE Auth :Welcome to \002%s\002!",Network);
WriteServ(user->fd,"001 %s :Welcome to the %s IRC Network %s!%s@%s",user->nick,Network,user->nick,user->ident,user->host);
WriteServ(user->fd,"002 %s :Your host is %s, running version %s",user->nick,ServerName,VERSION);
createcommand("MODULES",handle_modules,'o',0);
createcommand("LINKS",handle_links,0,0);
createcommand("MAP",handle_map,0,0);
- createcommand("KLINE",handle_kline,'o',3);
- createcommand("GLINE",handle_gline,'o',3);
- createcommand("ZLINE",handle_zline,'o',3);
- createcommand("QLINE",handle_qline,'o',3);
+ createcommand("KLINE",handle_kline,'o',1);
+ createcommand("GLINE",handle_gline,'o',1);
+ createcommand("ZLINE",handle_zline,'o',1);
+ createcommand("QLINE",handle_qline,'o',1);
}
void process_buffer(const char* cmdbuf,userrec *user)
#ifdef _POSIX_PRIORITY_SCHEDULING
sched_yield();
#endif
+ // update the status of klines, etc
+ expire_lines();
fd_set sfd;
timeval tval;