Browse code

allow warning control via txt record

git-svn: trunk@1504

Tomasz Kojm authored on 2005/04/29 09:59:33
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Fri Apr 29 02:57:07 CEST 2005 (tk)
2
+----------------------------------
3
+  * freshclam/manager.c: allow warning control via txt record
4
+
1 5
 Fri Apr 29 00:42:45 CEST 2005 (tk)
2 6
 ----------------------------------
3 7
   * shared/misc.c: (Mac OS X only) execute ditto with execl to eliminate
... ...
@@ -105,19 +105,32 @@ int downloadmanager(const struct cfgstruct *copt, const struct optstruct *opt, c
105 105
 		dnsreply = NULL;
106 106
 	    }
107 107
 
108
-	    if(dnsreply && (pt = cli_strtok(dnsreply, 0, ":"))) {
109
-		mprintf("*Software version from DNS: %s\n", pt);
110
-		if(!strstr(cl_retver(), "devel") && !strstr(cl_retver(), "rc")) {
111
-		    if(strcmp(cl_retver(), pt)) {
112
-			mprintf("WARNING: Your ClamAV installation is OUTDATED!\n");
113
-			mprintf("WARNING: Local version: %s Recommended version: %s\n", cl_retver(), pt);
114
-			mprintf("DON'T PANIC! Read http://www.clamav.net/faq.html\n");
115
-			logg("WARNING: Your ClamAV installation is OUTDATED!\n");
116
-			logg("WARNING: Local version: %s Recommended version: %s\n", cl_retver(), pt);
117
-			logg("DON'T PANIC! Read http://www.clamav.net/faq.html\n");
108
+	    if(dnsreply) {
109
+		    int vwarning = 1;
110
+
111
+		if((pt = cli_strtok(dnsreply, 4, ":"))) {
112
+		    if(*pt == '0')
113
+			vwarning = 0;
114
+
115
+		    free(pt);
116
+		}
117
+
118
+		if((pt = cli_strtok(dnsreply, 0, ":"))) {
119
+
120
+		    mprintf("*Software version from DNS: %s\n", pt);
121
+
122
+		    if(vwarning && !strstr(cl_retver(), "devel") && !strstr(cl_retver(), "rc")) {
123
+			if(strcmp(cl_retver(), pt)) {
124
+			    mprintf("WARNING: Your ClamAV installation is OUTDATED!\n");
125
+			    mprintf("WARNING: Local version: %s Recommended version: %s\n", cl_retver(), pt);
126
+			    mprintf("DON'T PANIC! Read http://www.clamav.net/faq.html\n");
127
+			    logg("WARNING: Your ClamAV installation is OUTDATED!\n");
128
+			    logg("WARNING: Local version: %s Recommended version: %s\n", cl_retver(), pt);
129
+			    logg("DON'T PANIC! Read http://www.clamav.net/faq.html\n");
130
+			}
118 131
 		    }
132
+		    free(pt);
119 133
 		}
120
-		free(pt);
121 134
 
122 135
 	    } else {
123 136
 		if(dnsreply) {