- for (int i = 0; i < ConfValueEnum("badip",&config_f); i++)
- {
- ConfValue("badip","ipmask",i,ipmask,&config_f);
- ConfValue("badip","reason",i,reason,&config_f);
- add_zline(0,"<Config>",reason,ipmask);
- log(DEBUG,"Read Z line (badip tag): ipmask=%s reason=%s",ipmask,reason);
- }
+bool DoneXLine(const char* tag)
+{
+ apply_lines(APPLY_ALL);
+ return true;
+}
+
+bool DoZLine(const char* tag, char** entries, void** values, int* types)
+{
+ char* reason = (char*)values[0];
+ char* ipmask = (char*)values[1];
+
+ add_zline(0,"<Config>",reason,ipmask);
+ log(DEBUG,"Read Z line (badip tag): ipmask=%s reason=%s",ipmask,reason);
+ return true;
+}
+
+bool DoQLine(const char* tag, char** entries, void** values, int* types)
+{
+ char* reason = (char*)values[0];
+ char* nick = (char*)values[1];
+
+ add_qline(0,"<Config>",reason,nick);
+ log(DEBUG,"Read Q line (badnick tag): nick=%s reason=%s",nick,reason);
+ return true;
+}
+
+bool DoKLine(const char* tag, char** entries, void** values, int* types)
+{
+ char* reason = (char*)values[0];
+ char* host = (char*)values[1];
+
+ add_kline(0,"<Config>",reason,host);
+ log(DEBUG,"Read K line (badhost tag): host=%s reason=%s",host,reason);
+ return true;
+}
+
+bool DoELine(const char* tag, char** entries, void** values, int* types)
+{
+ char* reason = (char*)values[0];
+ char* host = (char*)values[1];
+
+ add_eline(0,"<Config>",reason,host);
+ log(DEBUG,"Read E line (exception tag): host=%s reason=%s",host,reason);
+ return true;
+}
+
+// adds a g:line
+
+bool add_gline(long duration, const char* source,const char* reason,const char* hostmask)
+{
+ bool ret = del_gline(hostmask);
+
+ GLine item;
+ item.duration = duration;
+ strlcpy(item.hostmask,hostmask,199);
+ strlcpy(item.reason,reason,MAXBUF);
+ strlcpy(item.source,source,255);
+ item.n_matches = 0;
+ item.set_time = TIME;