From 73734596eb562c91bfc4ee202b5fb506c7dbd7fe Mon Sep 17 00:00:00 2001 From: DL6ER Date: Sat, 17 Jun 2017 14:08:45 +0200 Subject: [PATCH] Interpret black.list (status 5) --- gc.c | 8 ++++++++ parser.c | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gc.c b/gc.c index 828df41a..22f38a8a 100644 --- a/gc.c +++ b/gc.c @@ -83,6 +83,14 @@ void *GC_thread(void *val) validate_access("domains", queries[i].domainID, true, __LINE__, __FUNCTION__, __FILE__); domains[queries[i].domainID].blockedcount--; break; + case 5: + // Blocked by user's black list + counters.blocked--; + validate_access("overTime", queries[i].timeidx, true, __LINE__, __FUNCTION__, __FILE__); + overTime[queries[i].timeidx].blocked--; + validate_access("domains", queries[i].domainID, true, __LINE__, __FUNCTION__, __FILE__); + domains[queries[i].domainID].blockedcount--; + break; default: /* That cannot happen */ break; diff --git a/parser.c b/parser.c index 13d96845..b30bcebe 100644 --- a/parser.c +++ b/parser.c @@ -331,6 +331,7 @@ void process_pihole_log(int file) // - "gravity.list" + domain // - "forwarded" + domain // - "cached" + domain + // - "black.list" + domain // in the following up to 200 lines bool firsttime = true; int forwardID = -1; @@ -374,6 +375,12 @@ void process_pihole_log(int file) status = detectStatus(domain); break; } + // Blocked by black.list ? + else if(strstr(readbuffer2,"black.list ") != NULL) + { + status = 5; + break; + } } } else @@ -520,8 +527,17 @@ void process_pihole_log(int file) domains[domainID].blockedcount++; domains[domainID].wildcard = true; break; + case 5: + // Blocked by user's black list + counters.blocked++; + validate_access("overTime", timeidx, true, __LINE__, __FUNCTION__, __FILE__); + overTime[timeidx].blocked++; + validate_access("domains", domainID, true, __LINE__, __FUNCTION__, __FILE__); + domains[domainID].blockedcount++; + break; default: /* That cannot happen */ + logg("Found unexpected status %i",status); break; }