Browse code

eliminating additional option references to stat collection and submission until such time as a new stats website and associated clamav code is ready.

Micah Snyder authored on 2017/10/25 02:38:37
Showing 11 changed files
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
2
+ *  Copyright (C) 2015, 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
3 3
  *  Copyright (C) 2007-2012 Sourcefire, Inc.
4 4
  *
5 5
  *  Authors: Tomasz Kojm
... ...
@@ -290,10 +290,6 @@ void help(void)
290 290
     mprintf("    --pcre-recmatch-limit=#n             Maximum recursive calls to the PCRE match function.\n");
291 291
     mprintf("    --pcre-max-filesize=#n               Maximum size file to perform PCRE subsig matching.\n");
292 292
 #endif /* HAVE_PCRE */
293
-    mprintf("    --enable-stats                       Enable statistical reporting of malware\n");
294
-    mprintf("    --disable-pe-stats                   Disable submission of individual PE sections in stats submissions\n");
295
-    mprintf("    --stats-timeout=#n                   Number of seconds to wait for waiting a response back from the stats server\n");
296
-    mprintf("    --stats-host-id=UUID                 Set the Host ID used when submitting statistical info.\n");
297 293
     mprintf("    --disable-cache                      Disable caching and cache checks for hash sums of scanned files.\n");
298 294
     mprintf("\n");
299 295
     mprintf("(*) Default scan settings\n");
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
2
+ *  Copyright (C) 2015, 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
3 3
  *  Copyright (C) 2007-2013 Sourcefire, Inc.
4 4
  *
5 5
  *  Authors: Tomasz Kojm
... ...
@@ -675,42 +675,6 @@ int scanmanager(const struct optstruct *opts)
675 675
     if (optget(opts, "disable-cache")->enabled)
676 676
         cl_engine_set_num(engine, CL_ENGINE_DISABLE_CACHE, 1);
677 677
 
678
-    if (optget(opts, "disable-pe-stats")->enabled) {
679
-        cl_engine_set_num(engine, CL_ENGINE_DISABLE_PE_STATS, 1);
680
-    }
681
-
682
-    if (optget(opts, "enable-stats")->enabled) {
683
-        cl_engine_stats_enable(engine);
684
-    }
685
-
686
-    if (optget(opts, "stats-timeout")->enabled) {
687
-        cl_engine_set_num(engine, CL_ENGINE_STATS_TIMEOUT, optget(opts, "StatsTimeout")->numarg);
688
-    }
689
-
690
-    if (optget(opts, "stats-host-id")->enabled) {
691
-        char *p = optget(opts, "stats-host-id")->strarg;
692
-
693
-        if (strcmp(p, "default")) {
694
-            if (!strcmp(p, "none")) {
695
-                cl_engine_set_clcb_stats_get_hostid(engine, NULL);
696
-            } else if (!strcmp(p, "anonymous")) {
697
-                strcpy(hostid, STATS_ANON_UUID);
698
-            } else {
699
-                if (strlen(p) > 36) {
700
-                    logg("!Invalid HostID\n");
701
-
702
-                    cl_engine_set_clcb_stats_submit(engine, NULL);
703
-                    cl_engine_free(engine);
704
-                    return 2;
705
-                }
706
-
707
-                strcpy(hostid, p);
708
-            }
709
-
710
-            cl_engine_set_clcb_stats_get_hostid(engine, get_hostid);
711
-        }
712
-    }
713
-
714 678
     if(optget(opts, "detect-pua")->enabled) {
715 679
         dboptions |= CL_DB_PUA;
716 680
         if((opt = optget(opts, "exclude-pua"))->enabled) {
... ...
@@ -1,6 +1,6 @@
1 1
 %  Clam AntiVirus: User Manual
2 2
 %
3
-%  Copyright (C) 2016 Cisco Systems, Inc.
3
+%  Copyright (C) 2016-2017 Cisco Systems, Inc.
4 4
 %  Copyright (C) 2008-2013 Sourcefire, Inc.
5 5
 %  Copyright (C) 2002 - 2007 Tomasz Kojm <tkojm*clamav.net>
6 6
 %  Version 0.2x corrected by Dennis Leeuw <dleeuw*made-it.com>
... ...
@@ -84,6 +84,7 @@
84 84
     \noindent
85 85
     \begin{boxedminipage}[b]{\textwidth}
86 86
     ClamAV User Manual,
87
+87d
87 88
     \copyright \  2017 Cisco Systems, Inc.
88 89
     Authors: Tomasz Kojm\\
89 90
     This document is distributed under the terms of the GNU General
... ...
@@ -583,29 +584,6 @@ N * * * *	/usr/local/bin/freshclam --quiet
583 583
     mirror fails for some reason. The full list of two-letters country codes
584 584
     is available at \url{http://www.iana.org/cctld/cctld-whois.htm}
585 585
 
586
-    \subsection{ClamAV Active Malware Report}
587
-
588
-    The ClamAV Active Malware Report that was introduced in ClamAV 0.94.1 uses
589
-    freshclam to send summary data to our server about the malware that has
590
-    been detected. This data is then used to generate real-time reports on
591
-    active malware. These reports, along with geographical and historic trends,
592
-    will be published on \url{http://www.clamav.net/}.
593
-    \\\\
594
-    The more data that we receive from ClamAV users, the more reports, and the
595
-    better the quality of the reports, will be. To enable the submission of
596
-    data to us for use in the Active Malware Report, enable
597
-    SubmitDetectionStats in freshclam.conf, and LogTime and LogFile in
598
-    clamd.conf. You should only enable this feature if you're running clamd
599
-    to scan incoming data in your environment.
600
-    \\\\
601
-    The only private data that is transferred is an IP address, which is used
602
-    to create the geographical data. The size of the data that is sent is small;
603
-    it contains just the filename, malware name and time of detection. The data
604
-    is sent in sets of 10 records, up to 50 records per session. For example,
605
-    if you have 45 new records, then freshclam will submit 40; if 78 then it
606
-    will submit the latest 50 entries; and if you have 9 records no statistics
607
-    will be sent.
608
-
609 586
     \section{Usage}
610 587
 
611 588
     \subsection{Clam daemon}\label{clamd}
... ...
@@ -689,26 +689,6 @@ Default: disabled
689 689
 Disable authenticode certificate chain verification in PE files.
690 690
 .br
691 691
 Default: no
692
-.TP
693
-\fBStatsEnabled BOOL\fR
694
-Enable submission of statistical data
695
-.br
696
-Default: no
697
-.TP
698
-\fBStatsHostID STRING\fR
699
-HostID in the form of an UUID to use when submitting statistical information.
700
-.br
701
-Default: auto
702
-.TP
703
-\fBStatsPEDisabled BOOL\fR
704
-Disable submission of PE section statistical data.
705
-.br
706
-Default: no
707
-.TP
708
-\fBStatsTimeout NUMBER\fR
709
-Timeout in seconds to timeout communication with the stats server.
710
-.br
711
-Default: 10
712 692
 .SH "NOTES"
713 693
 .LP 
714 694
 All options expressing a size are limited to max 4GB. Values in excess will be resetted to the maximum.
... ...
@@ -241,18 +241,6 @@ Maximum recursive calls to the PCRE match function (default: 5000).
241 241
 \fB\-\-pcre-max-filesize=#n\fR
242 242
 Maximum size file to perform PCRE subsig matching (default: 25 MB, max: <4 GB).
243 243
 .TP
244
-\fB\-\-enable\-stats\fR
245
-This option enables submission of statistical data. (Default: stats submissions disabled)
246
-.TP
247
-\fB\-\-stats\-host\-id\fR
248
-This option sets the HostID, in the form of an UUID, to use when submitting statistical information.
249
-.TP
250
-\fB\-\-disable\-pe\-stats\fR
251
-This option disables the submission of PE section data. (Default: submitting of PE section data enabled if stats submissions as a whole is enabled).
252
-.TP
253
-\fB\-\-stats\-timeout=#n\fR
254
-This option sets the timeout in seconds to wait for communication back from the stats server. (Default: 10).
255
-.TP
256 244
 \fB\-\-disable\-cache\fR
257 245
 Disable caching and cache checks for hash sums of scanned files.
258 246
 .SH "EXAMPLES"
... ...
@@ -75,17 +75,8 @@ Execute COMMAND when freshclam reports outdated version. In the command string %
75 75
 \fB\-\-list\-mirrors\fR
76 76
 Print mirror details from mirrors.dat (cache file for the mirror manager).
77 77
 .TP
78
-\fB\-\-submit\-stats[=/path/to/clamd.conf]\fR
79
-Upload detection statistics to the ClamAV Project (see freshclam.conf(5):SubmitDetectionStats for more details). No database update will be performed. This option only works in the interactive mode.
80
-.TP
81 78
 \fB\-\-update\-db=DBNAME\fR
82 79
 With this option you can limit updates to a subset of database files. The DBNAME should be "main", "daily", "bytecode", "safebrowsing" or one of the 3rd party database names. This option can be used multiple times and only works with the official and 3rd party databases distrubuted through the ClamAV mirrors, your custom databases (specified with DatabaseCustomURL in freshclam.conf) will not be ignored.
83
-.TP
84
-\fB\-\-enable\-stats\fR
85
-Enable submission of statistical data.
86
-.TP
87
-\fB\-\-stats\-host\-id=UUID\fR
88
-HostID in the form of an UUID to use when submitting statistical information.
89 80
 .SH "EXAMPLES"
90 81
 .LP 
91 82
 .TP 
... ...
@@ -186,16 +186,6 @@ Timeout in seconds when reading from database server.
186 186
 .br 
187 187
 Default: 30
188 188
 .TP
189
-\fBSubmitDetectionStats STRING\fR
190
-When enabled freshclam will submit statistics to the ClamAV Project about the latest virus detections in your environment. The ClamAV maintainers will then use this data to determine what types of malware are the most detected in the field and in what geographic area they are. Freshclam will connect to clamd in order to get the recent statistics. The path for clamd.conf file must be provided.
191
-.br
192
-Default: disabled
193
-.TP
194
-\fBDetectionStatsCountry STRING\fR
195
-Country of origin of malware/detection statistics (for statistical purposes only). The statistics collector at ClamAV.net will look up your IP address to determine the geographical origin of the malware reported by your installation. If this installation is mainly used to scan data which comes from a different location, please enable this option and enter a two-letter code (see http://www.iana.org/domains/root/db/) of the country of origin.
196
-.br
197
-Default: disabled
198
-.TP
199 189
 \fBSafeBrowsing BOOL\fR
200 190
 This option enables support for Google Safe Browsing. When activated for the first time, freshclam will download a new database file (safebrowsing.cvd) which will be automatically loaded by clamd and clamscan during the next reload, provided that the heuristic phishing detection is turned on. This database includes information about websites that may be phishing sites or possible sources of malware. When using this option, it's mandatory to run freshclam at least every 30 minutes. Freshclam uses the ClamAV's mirror infrastructure to distribute the database and its updates but all the contents are provided under Google's terms of use. See http://code.google.com/support/bin/answer.py?answer=70015 and http://safebrowsing.clamav.net for more information.
201 191
 .br
... ...
@@ -664,19 +664,3 @@ Example
664 664
 ##
665 665
 ## Statistics gathering and submitting
666 666
 ##
667
-
668
-# Enable statistical reporting.
669
-# Default: no
670
-#StatsEnabled yes
671
-
672
-# Disable submission of individual PE sections for files flagged as malware.
673
-# Default: no
674
-#StatsPEDisabled yes
675
-
676
-# HostID in the form of an UUID to use when submitting statistical information.
677
-# Default: auto
678
-#StatsHostID auto
679
-
680
-# Time in seconds to wait for the stats server to come back with a response
681
-# Default: 10
682
-#StatsTimeout 10
... ...
@@ -169,24 +169,6 @@ DatabaseMirror database.clamav.net
169 169
 # Default: yes
170 170
 #TestDatabases yes
171 171
 
172
-# When enabled freshclam will submit statistics to the ClamAV Project about
173
-# the latest virus detections in your environment. The ClamAV maintainers
174
-# will then use this data to determine what types of malware are the most
175
-# detected in the field and in what geographic area they are.
176
-# Freshclam will connect to clamd in order to get recent statistics.
177
-# Default: no
178
-#SubmitDetectionStats /path/to/clamd.conf
179
-
180
-# Country of origin of malware/detection statistics (for statistical
181
-# purposes only). The statistics collector at ClamAV.net will look up
182
-# your IP address to determine the geographical origin of the malware
183
-# reported by your installation. If this installation is mainly used to
184
-# scan data which comes from a different location, please enable this
185
-# option and enter a two-letter code (see http://www.iana.org/domains/root/db/)
186
-# of the country of origin.
187
-# Default: disabled
188
-#DetectionStatsCountry country-code
189
-
190 172
 # This option enables support for Google Safe Browsing. When activated for
191 173
 # the first time, freshclam will download a new database file (safebrowsing.cvd)
192 174
 # which will be automatically loaded by clamd and clamscan during the next
... ...
@@ -70,7 +70,6 @@ int sigchld_wait = 1;
70 70
 const char *pidfile = NULL;
71 71
 char hostid[37];
72 72
 
73
-void submit_host_info(struct optstruct *opts);
74 73
 char *get_hostid(void *cbdata);
75 74
 int is_valid_hostid(void);
76 75
 
... ...
@@ -146,16 +145,20 @@ help (void)
146 146
 {
147 147
     mprintf_stdout = 1;
148 148
 
149
-    mprintf ("\n");
150
-    mprintf ("                   Clam AntiVirus: freshclam  %s\n",
151
-             get_version ());
152
-    printf ("           By The ClamAV Team: http://www.clamav.net/about.html#credits\n");
153
-    printf ("           (C) 2007-2017 Cisco Systems, Inc.\n\n");
154
-
155
-    mprintf ("    --help               -h              show help\n");
149
+    mprintf 
150
+        ("\n");
151
+    mprintf 
152
+        ("                   Clam AntiVirus: freshclam  %s\n", get_version ());
153
+    printf 
154
+        ("           By The ClamAV Team: http://www.clamav.net/about.html#credits\n");
155
+    printf 
156
+        ("           (C) 2007-2017 Cisco Systems, Inc.\n\n");
157
+    mprintf 
158
+        ("    --help               -h              show help\n");
156 159
     mprintf
157 160
         ("    --version            -V              print version number and exit\n");
158
-    mprintf ("    --verbose            -v              be verbose\n");
161
+    mprintf 
162
+        ("    --verbose            -v              be verbose\n");
159 163
     mprintf
160 164
         ("    --debug                              enable debug messages\n");
161 165
     mprintf
... ...
@@ -166,15 +169,19 @@ help (void)
166 166
         ("    --stdout                             write to stdout instead of stderr\n");
167 167
     mprintf
168 168
         ("    --show-progress                      show download progress percentage\n");
169
-    mprintf ("\n");
169
+    mprintf 
170
+        ("\n");
170 171
     mprintf
171 172
         ("    --config-file=FILE                   read configuration from FILE.\n");
172
-    mprintf ("    --log=FILE           -l FILE         log into FILE\n");
173
+    mprintf 
174
+        ("    --log=FILE           -l FILE         log into FILE\n");
173 175
 #ifndef _WIN32
174
-    mprintf ("    --daemon             -d              run in daemon mode\n");
176
+    mprintf 
177
+        ("    --daemon             -d              run in daemon mode\n");
175 178
     mprintf
176 179
         ("    --pid=FILE           -p FILE         save daemon's pid in FILE\n");
177
-    mprintf ("    --user=USER          -u USER         run as USER\n");
180
+    mprintf 
181
+        ("    --user=USER          -u USER         run as USER\n");
178 182
 #endif
179 183
     mprintf
180 184
         ("    --no-dns                             force old non-DNS verification method\n");
... ...
@@ -197,10 +204,6 @@ help (void)
197 197
     mprintf
198 198
         ("    --list-mirrors                       print mirrors from mirrors.dat\n");
199 199
     mprintf
200
-        ("    --enable-stats                       enable statistical information reporting\n");
201
-    mprintf
202
-        ("    --stats-host-id=UUID                 HostID in the form of an UUID to use when submitting statistical information\n");
203
-    mprintf
204 200
         ("    --update-db=DBNAME                   only update database DBNAME\n");
205 201
 
206 202
     mprintf ("\n");
... ...
@@ -363,28 +366,6 @@ main (int argc, char **argv)
363 363
         return 0;
364 364
     }
365 365
 
366
-    /* Stats/intelligence gathering  */
367
-    if (optget(opts, "stats-host-id")->enabled) {
368
-        char *p = optget(opts, "stats-host-id")->strarg;
369
-
370
-        if (strcmp(p, "default")) {
371
-            if (!strcmp(p, "anonymous")) {
372
-                strcpy(hostid, STATS_ANON_UUID);
373
-            } else {
374
-                if (strlen(p) > 36) {
375
-                    logg("!Invalid HostID\n");
376
-                    optfree(opts);
377
-                    return FCE_INIT;
378
-                }
379
-
380
-                strcpy(hostid, p);
381
-            }
382
-        } else {
383
-            strcpy(hostid, "default");
384
-        }
385
-    }
386
-    submit_host_info(opts);
387
-
388 366
     if (optget (opts, "HTTPProxyPassword")->enabled)
389 367
     {
390 368
         if (CLAMSTAT (cfgfile, &statbuf) == -1)
... ...
@@ -771,54 +752,6 @@ main (int argc, char **argv)
771 771
     return (ret);
772 772
 }
773 773
 
774
-void submit_host_info(struct optstruct *opts)
775
-{
776
-    struct cl_engine *engine;
777
-    cli_intel_t *intel;
778
-
779
-    if (!optget(opts, "enable-stats")->enabled)
780
-        return;
781
-
782
-    engine = cl_engine_new();
783
-    if (!(engine))
784
-        return;
785
-
786
-    if (optget (opts, "Debug")->enabled || optget (opts, "debug")->enabled)
787
-        cl_debug ();
788
-
789
-    if (optget (opts, "verbose")->enabled)
790
-        mprintf_verbose = 1;
791
-
792
-    cl_engine_stats_enable(engine);
793
-
794
-    intel = engine->stats_data;
795
-    if (!(intel)) {
796
-        engine->cb_stats_submit = NULL;
797
-        cl_engine_free(engine);
798
-        return;
799
-    }
800
-
801
-    intel->host_info = calloc(1, strlen(TARGET_OS_TYPE) + strlen(TARGET_ARCH_TYPE) + 2);
802
-    if (!(intel->host_info)) {
803
-        engine->cb_stats_submit = NULL;
804
-        cl_engine_free(engine);
805
-        return;
806
-    }
807
-
808
-    sprintf(intel->host_info, "%s %s", TARGET_OS_TYPE, TARGET_ARCH_TYPE);
809
-
810
-    if (!strcmp(hostid, "none"))
811
-        cl_engine_set_clcb_stats_get_hostid(engine, NULL);
812
-    else if (strcmp(hostid, "default"))
813
-        cl_engine_set_clcb_stats_get_hostid(engine, get_hostid);
814
-
815
-    if (optget(opts, "stats-timeout")->enabled) {
816
-        cl_engine_set_num(engine, CL_ENGINE_STATS_TIMEOUT, optget(opts, "StatsTimeout")->numarg);
817
-    }
818
-
819
-    cl_engine_free(engine);
820
-}
821
-
822 774
 int is_valid_hostid(void)
823 775
 {
824 776
     int count, i;
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2015 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
2
+ *  Copyright (C) 2015, 2017 Cisco Systems, Inc. and/or its affiliates. All rights reserved.
3 3
  *  Copyright (C) 2008-2013 Sourcefire, Inc.
4 4
  *
5 5
  *  Author: Tomasz Kojm <tkojm@clamav.net>
... ...
@@ -194,14 +194,6 @@ const struct clam_option __clam_options[] = {
194 194
 
195 195
     { "LogFile", "log", 'l', CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_CLAMD | OPT_MILTER | OPT_CLAMSCAN | OPT_CLAMDSCAN, "Save all reports to a log file.", "/tmp/clamav.log" },
196 196
 
197
-    { "StatsHostID", "stats-host-id", 0, CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_FRESHCLAM | OPT_CLAMD | OPT_CLAMSCAN, "HostID in the form of an UUID to use when submitting statistical information. See the clamscan manpage for more information.", "default" },
198
-
199
-    { "StatsEnabled", "enable-stats", 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN, "Enable submission of statistical data", "yes" },
200
-
201
-    { "StatsPEDisabled", "disable-pe-stats", 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_CLAMSCAN, "Disable submission of PE section statistical data", "no" },
202
-
203
-    { "StatsTimeout", "stats-timeout", 0, CLOPT_TYPE_NUMBER, MATCH_NUMBER, -1, NULL, 0, OPT_CLAMD | OPT_CLAMSCAN | OPT_FRESHCLAM, "Timeout in seconds to timeout communication with the stats server.", "10" },
204
-
205 197
     { "LogFileUnlock", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_MILTER, "By default the log file is locked for writing and only a single\ndaemon process can write to it. This option disables the lock.", "yes" },
206 198
 
207 199
     { "LogFileMaxSize", NULL, 0, CLOPT_TYPE_SIZE, MATCH_SIZE, 1048576, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_MILTER, "Maximum size of the log file.\nValue of 0 disables the limit.", "5M" },
... ...
@@ -485,10 +477,6 @@ const struct clam_option __clam_options[] = {
485 485
 
486 486
     { "ReceiveTimeout", NULL, 0, CLOPT_TYPE_NUMBER, MATCH_NUMBER, 30, NULL, 0, OPT_FRESHCLAM, "Timeout in seconds when reading from database server.", "30" },
487 487
 
488
-    { "SubmitDetectionStats", NULL, 0, CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_FRESHCLAM, "When enabled freshclam will submit statistics to the ClamAV Project about\nthe latest virus detections in your environment. The ClamAV maintainers\nwill then use this data to determine what types of malware are the most\ndetected in the field and in what geographic area they are.\nFreshclam will connect to clamd in order to get recent statistics.", "/path/to/clamd.conf" },
489
-
490
-    { "DetectionStatsCountry", NULL, 0, CLOPT_TYPE_STRING, NULL, -1, NULL, 0, OPT_FRESHCLAM, "Country of origin of malware/detection statistics (for statistical\npurposes only). The statistics collector at ClamAV.net will look up\nyour IP address to determine the geographical origin of the malware\nreported by your installation. If this installation is mainly used to\nscan data which comes from a different location, please enable this\noption and enter a two-letter code (see http://www.iana.org/domains/root/db/)\nof the country of origin.", "country-code" },
491
-
492 488
     { "SafeBrowsing", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_FRESHCLAM, "This option enables support for Google Safe Browsing. When activated for\nthe first time, freshclam will download a new database file (safebrowsing.cvd)\nwhich will be automatically loaded by clamd and clamscan during the next\nreload, provided that the heuristic phishing detection is turned on. This\ndatabase includes information about websites that may be phishing sites or\npossible sources of malware. When using this option, it's mandatory to run\nfreshclam at least every 30 minutes.\nFreshclam uses the ClamAV's mirror infrastructure to distribute the\ndatabase and its updates but all the contents are provided under Google's\nterms of use. See http://www.google.com/transparencyreport/safebrowsing\nand http://www.clamav.net/doc/safebrowsing.html for more information.", "yes" },
493 489
 
494 490
     { "Bytecode", NULL, 0, CLOPT_TYPE_BOOL, MATCH_BOOL, 1, NULL, 0, OPT_FRESHCLAM, "This option enables downloading of bytecode.cvd, which includes additional\ndetection mechanisms and improvements to the ClamAV engine.", "yes" },