diff --git a/gc.c b/gc.c index 4e06b5577..297d28daf 100644 --- a/gc.c +++ b/gc.c @@ -55,6 +55,21 @@ void *GC_thread(void *val) default: /* That cannot happen */ break; } + switch(queries[i].type) + { + case 1: counters.IPv4--; break; + case 2: counters.IPv6--; break; + default: logg("ERROR in GC"); break; + } + + // Remove forwarded data from overTime and total forwarded count + int j; + for(j = 0; j < overTime[queries[i].timeidx].forwardnum; j++) + { + forwarded[j].count -= overTime[queries[i].timeidx].forwarddata[j]; + overTime[queries[i].timeidx].forwarddata[j] = 0; + } + // Mark this query as garbage collected queries[i].valid = false; diff --git a/parser.c b/parser.c index 13ae5a99d..dda683380 100644 --- a/parser.c +++ b/parser.c @@ -504,14 +504,6 @@ void process_pihole_log(int file) logg("dnsmasq process restarted"); read_gravity_files(); } - else if(strstr(readbuffer,"query[PTR]")) - { - counters.PTR++; - } - else if(strstr(readbuffer,"query[SRV]")) - { - counters.SRV++; - } // Save file pointer position, because we might have to repeat // reading the next line if dnsmasq hasn't finished writing it diff --git a/request.c b/request.c index 97de44346..45883f19f 100644 --- a/request.c +++ b/request.c @@ -230,7 +230,7 @@ void process_request(char *client_message, int *sock) else if(command(client_message, ">querytypes")) { processed = true; - sprintf(server_message,"A (IPv4): %i\nAAAA (IPv6): %i\nPTR: %i\nSRV: %i\n",counters.IPv4,counters.IPv6,counters.PTR,counters.SRV); + sprintf(server_message,"A (IPv4): %i\nAAAA (IPv6): %i\n",counters.IPv4,counters.IPv6); swrite(server_message, *sock); if(debugclients) logg_int("Sent query type data to client, ID: ", *sock);