diff --git a/FTL.h b/FTL.h index 3be2f0cf..c8c37888 100644 --- a/FTL.h +++ b/FTL.h @@ -144,6 +144,7 @@ typedef struct { int blocked; int forwardnum; int *forwarddata; + int *querytypedata; } overTimeDataStruct; typedef struct { @@ -154,6 +155,7 @@ typedef struct { int forwardedips; int forwardednames; int forwarddata; + int querytypedata; } memoryStruct; enum { QUERIES, FORWARDED, CLIENTS, DOMAINS, OVERTIME }; diff --git a/flush.c b/flush.c index ba0ff0db..b79a7f74 100644 --- a/flush.c +++ b/flush.c @@ -60,10 +60,12 @@ void pihole_log_flushed(bool message) for(i=0;iQueryTypesoverTime")) + { + processed = true; + int i, sendit = -1; + for(i = 0; i < counters.overTime; i++) + { + if((overTime[i].total > 0 || overTime[i].blocked > 0)) + { + sendit = i; + break; + } + } + if(sendit > -1) + { + for(i = sendit; i < counters.overTime; i++) + { + sprintf(server_message, "%i %i %i\n", overTime[i].timestamp,overTime[i].querytypedata[0],overTime[i].querytypedata[1]); + swrite(server_message, *sock); + } + } + if(debugclients) + logg_int("Sent overTime query types data to client, ID: ", *sock); + } else if(command(client_message, ">version")) { processed = true;