From 440e23ab7b6b3be2804924238d1de9dfb6c54787 Mon Sep 17 00:00:00 2001 From: DL6ER Date: Mon, 13 Mar 2017 15:31:40 +0100 Subject: [PATCH] Add ">forward-names" for getting an unsorted list of forward destinations --- gc.c | 3 ++- request.c | 21 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gc.c b/gc.c index 297d28daf..01c81a508 100644 --- a/gc.c +++ b/gc.c @@ -62,7 +62,8 @@ void *GC_thread(void *val) default: logg("ERROR in GC"); break; } - // Remove forwarded data from overTime and total forwarded count + // Remove forwarded data from overTime (forwarded) + // and individual forwarded count int j; for(j = 0; j < overTime[queries[i].timeidx].forwardnum; j++) { diff --git a/request.c b/request.c index 202991cf8..a36f5caa1 100644 --- a/request.c +++ b/request.c @@ -225,7 +225,23 @@ void process_request(char *client_message, int *sock) } } if(debugclients) - logg_int("Sent forwarded destinations data to client, ID: ", *sock); + logg_int("Sent forward destination data to client, ID: ", *sock); + } + else if(command(client_message, ">forward-names")) + { + processed = true; + int i; + for(i=0; i < counters.forwarded; i++) + { + // Get sorted indices + if(forwarded[i].count > 0) + { + sprintf(server_message,"%i %i %s %s\n",i,forwarded[i].count,forwarded[i].ip,forwarded[i].name); + swrite(server_message, *sock); + } + } + if(debugclients) + logg_int("Sent forward destination names to client, ID: ", *sock); } else if(command(client_message, ">querytypes")) { @@ -472,7 +488,7 @@ void process_request(char *client_message, int *sock) else if(command(client_message, ">ForwardedoverTime")) { processed = true; - int i, j, k, sendit = -1; + int i, k, sendit = -1; for(i = 0; i < counters.overTime; i++) { if((overTime[i].total > 0 || overTime[i].blocked > 0)) @@ -487,6 +503,7 @@ void process_request(char *client_message, int *sock) { sprintf(server_message, "%i", overTime[i].timestamp); + int j; for(j = 0; j < counters.forwarded; j++) { if(j < overTime[i].forwardnum)