Browse code

fix rar-sfx detection

git-svn: trunk@1639

Tomasz Kojm authored on 2005/06/29 10:06:54
Showing 3 changed files
... ...
@@ -1,3 +1,7 @@
1
+Wed Jun 29 03:05:45 CEST 2005 (tk)
2
+----------------------------------
3
+  * libclamav: fix rar-sfx detection
4
+
1 5
 Mon Jun 27 22:01:55 BST 2005 (njh)
2 6
 ----------------------------------
3 7
   * clamav-milter:	Changed the default child_timeout to 5 minutes
... ...
@@ -46,9 +46,9 @@ typedef enum {
46 46
     CL_TYPE_PDF,
47 47
 
48 48
     /* bigger numbers have higher priority (in o-t-f detection) */
49
-    CL_TYPE_RARSFX,
50 49
     CL_TYPE_HTML, /* on the fly */
51
-    CL_TYPE_MAIL  /* magic + on the fly */
50
+    CL_TYPE_MAIL,  /* magic + on the fly */
51
+    CL_TYPE_RARSFX /* on the fly */
52 52
 
53 53
 } cli_file_t;
54 54
 
... ...
@@ -1566,19 +1566,19 @@ int cli_magic_scandesc(int desc, const char **virname, long int *scanned, const
1566 1566
 	    nret == CL_TYPE_MAIL ? mrec++ : arec++;
1567 1567
 	    switch(nret) {
1568 1568
 		case CL_TYPE_HTML:
1569
-		    if(SCAN_HTML)
1569
+		    if(SCAN_HTML && type == CL_TYPE_UNKNOWN_TEXT)
1570 1570
 			if(cli_scanhtml(desc, virname, scanned, root, limits, options, arec, mrec) == CL_VIRUS)
1571 1571
 			    return CL_VIRUS;
1572 1572
 		    break;
1573 1573
 
1574 1574
 		case CL_TYPE_MAIL:
1575
-		    if(SCAN_MAIL)
1575
+		    if(SCAN_MAIL && type == CL_TYPE_UNKNOWN_TEXT)
1576 1576
 			if(cli_scanmail(desc, virname, scanned, root, limits, options, arec, mrec) == CL_VIRUS)
1577 1577
 			    return CL_VIRUS;
1578 1578
 		    break;
1579 1579
 
1580 1580
 		case CL_TYPE_RARSFX:
1581
-		    if(SCAN_ARCHIVE)
1581
+		    if(SCAN_ARCHIVE && type == CL_TYPE_MSEXE)
1582 1582
 			cli_dbgmsg("RAR-SFX found at %d\n", ftoffset);
1583 1583
 		    break;
1584 1584
 	    }