Browse code

Remove existing stats gathering framework from clamd

Conflicts:
clamd/clamd.c

Shawn Webb authored on 2014/01/17 03:55:20
Showing 6 changed files
... ...
@@ -464,7 +464,6 @@ int main(int argc, char **argv)
464 464
         }
465 465
 
466 466
         cl_engine_set_clcb_hash(engine, hash_callback);
467
-        detstats_clear();
468 467
 
469 468
         if(optget(opts, "LeaveTemporaryFiles")->enabled)
470 469
             cl_engine_set_num(engine, CL_ENGINE_KEEPTMP, 1);
... ...
@@ -68,8 +68,6 @@ static int fan_scanfile(int fan_fd, const char *fname, struct fanotify_event_met
68 68
     context.filename = fname;
69 69
     context.virsize = 0;
70 70
     if(scan && cl_scandesc_callback(fmd->fd, &virname, NULL, tharg->engine, tharg->options, &context) == CL_VIRUS) {
71
-	if(context.virsize)
72
-	    detstats_add(virname, fname, context.virsize, context.virhash);
73 71
 	if(extinfo && context.virsize)
74 72
 	    logg("ScanOnAccess: %s: %s(%s:%llu) FOUND\n", fname, virname, context.virhash, context.virsize);
75 73
 	else
... ...
@@ -277,8 +275,6 @@ static int cauth_scanfile(const char *fname, int extinfo, struct thrarg *tharg)
277 277
 	return -1;
278 278
 
279 279
     if(cl_scandesc_callback(fd, &virname, NULL, tharg->engine, tharg->options, &context) == CL_VIRUS) {
280
-	if(context.virsize)
281
-	    detstats_add(virname, fname, context.virsize, context.virhash);
282 280
 	if(extinfo && context.virsize)
283 281
 	    logg("ScanOnAccess: %s: %s(%s:%llu) FOUND\n", fname, virname, context.virhash, context.virsize);
284 282
 	else
... ...
@@ -75,7 +75,6 @@
75 75
 #include "others.h"
76 76
 
77 77
 static pthread_mutex_t virusaction_lock = PTHREAD_MUTEX_INITIALIZER;
78
-static pthread_mutex_t detstats_lock = PTHREAD_MUTEX_INITIALIZER;
79 78
 
80 79
 static void xfree(void *p)
81 80
 {
... ...
@@ -798,72 +797,6 @@ fds_free (struct fd_data *data)
798 798
     fds_unlock (data);
799 799
 }
800 800
 
801
-struct detstats_s
802
-{
803
-    char virname[128];
804
-    char fname[128];
805
-    char md5[33];
806
-    unsigned int fsize;
807
-    unsigned int time;
808
-};
809
-#define DETSTATS_MAX 50
810
-static struct detstats_s detstats_data[DETSTATS_MAX];
811
-static unsigned int detstats_idx = 0, detstats_total = 0;
812
-
813
-void
814
-detstats_clear (void)
815
-{
816
-    pthread_mutex_lock (&detstats_lock);
817
-    detstats_idx = detstats_total = 0;
818
-    pthread_mutex_unlock (&detstats_lock);
819
-}
820
-
821
-void
822
-detstats_add (const char *virname, const char *fname, unsigned int fsize,
823
-              const char *md5)
824
-{
825
-    pthread_mutex_lock (&detstats_lock);
826
-
827
-    strncpy (detstats_data[detstats_idx].virname, virname,
828
-             sizeof (detstats_data[detstats_idx].virname));
829
-    detstats_data[detstats_idx].
830
-        virname[sizeof (detstats_data[detstats_idx].virname) - 1] = 0;
831
-
832
-    if ((fname = strrchr (fname, *PATHSEP)))
833
-        fname++;
834
-    strncpy (detstats_data[detstats_idx].fname,
835
-             (!fname
836
-              || !strlen (fname)) ? "NOFNAME" : fname,
837
-             sizeof (detstats_data[detstats_idx].fname));
838
-    detstats_data[detstats_idx].
839
-        fname[sizeof (detstats_data[detstats_idx].fname) - 1] = 0;
840
-
841
-    strncpy (detstats_data[detstats_idx].md5, md5,
842
-             sizeof (detstats_data[detstats_idx].md5));
843
-    detstats_data[detstats_idx].md5[sizeof (detstats_data[detstats_idx].md5) -
844
-                                    1] = 0;
845
-
846
-    detstats_data[detstats_idx].fsize = fsize;
847
-    detstats_data[detstats_idx++].time = time (NULL);
848
-    if (detstats_idx == DETSTATS_MAX)
849
-        detstats_idx = 0;
850
-    detstats_total++;
851
-    pthread_mutex_unlock (&detstats_lock);
852
-}
853
-
854
-void
855
-detstats_print (int desc, char term)
856
-{
857
-    unsigned int i;
858
-
859
-    pthread_mutex_lock (&detstats_lock);
860
-    for (i = 0; i < DETSTATS_MAX && i < detstats_total; i++)
861
-        mdprintf (desc, "%u:%s:%u:%s:%s%c", detstats_data[i].time,
862
-                  detstats_data[i].md5, detstats_data[i].fsize,
863
-                  detstats_data[i].virname, detstats_data[i].fname, term);
864
-    pthread_mutex_unlock (&detstats_lock);
865
-}
866
-
867 801
 #ifdef FANOTIFY
868 802
 int
869 803
 fan_checkowner (int pid, const struct optstruct *opts)
... ...
@@ -82,10 +82,6 @@ void fds_cleanup(struct fd_data *data);
82 82
 int fds_poll_recv(struct fd_data *data, int timeout, int check_signals, void *event);
83 83
 void fds_free(struct fd_data *data);
84 84
 
85
-void detstats_clear(void);
86
-void detstats_add(const char *virname, const char *fname, unsigned int fsize, const char *md5);
87
-void detstats_print(int desc, char term);
88
-
89 85
 #ifdef FANOTIFY
90 86
 int fan_checkowner(int pid, const struct optstruct *opts);
91 87
 #endif
... ...
@@ -267,8 +267,6 @@ int scan_callback(STATBUF *sb, char *filename, const char *msg, enum cli_ftw_rea
267 267
 		    return CL_ETIMEOUT;
268 268
 		}
269 269
 	}
270
-	if(context.virsize)
271
-	    detstats_add(virname, filename, context.virsize, context.virhash);
272 270
 	if(context.virsize && optget(scandata->opts, "ExtendedDetectionInfo")->enabled)
273 271
 	    logg("~%s: %s(%s:%llu) FOUND\n", filename, virname, context.virhash, context.virsize);
274 272
 	else
... ...
@@ -381,8 +379,6 @@ int scanfd(const client_conn_t *conn, unsigned long int *scanned,
381 381
 	if(ret == CL_VIRUS) {
382 382
 		if (conn_reply_virus(conn, reply_fdstr, virname) == -1)
383 383
 		    ret = CL_ETIMEOUT;
384
-		if(context.virsize)
385
-		    detstats_add(virname, "NOFNAME", context.virsize, context.virhash);
386 384
 		if(context.virsize && optget(opts, "ExtendedDetectionInfo")->enabled)
387 385
 		    logg("%s: %s(%s:%llu) FOUND\n", fdstr, virname, context.virhash, context.virsize);
388 386
 		else
... ...
@@ -553,8 +549,6 @@ int scanstream(int odesc, unsigned long int *scanned, const struct cl_engine *en
553 553
     closesocket(sockfd);
554 554
 
555 555
     if(ret == CL_VIRUS) {
556
-	if(context.virsize)
557
-	    detstats_add(virname, "NOFNAME", context.virsize, context.virhash);
558 556
 	if(context.virsize && optget(opts, "ExtendedDetectionInfo")->enabled) {
559 557
 	    mdprintf(odesc, "stream: %s(%s:%llu) FOUND%c", virname, context.virhash, context.virsize, term);
560 558
 	    logg("stream(%s@%u): %s(%s:%llu) FOUND\n", peer_addr, port, virname, context.virhash, context.virsize);
... ...
@@ -596,12 +596,12 @@ int execute_or_dispatch_command(client_conn_t *conn, enum commands cmd, const ch
596 596
 	    }
597 597
 	case COMMAND_DETSTATSCLEAR:
598 598
 	    {
599
-		detstats_clear();
599
+        /* TODO: tell client this command has been removed */
600 600
 		return 1;
601 601
 	    }
602 602
 	case COMMAND_DETSTATS:
603 603
 	    {
604
-		detstats_print(desc, conn->term);
604
+        /* TODO: tell client this command has been removed */
605 605
 		return 1;
606 606
 	    }
607 607
 	case COMMAND_INSTREAM: