Browse code

Handle Content-Type: /; name="eicar.com"

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@66 77e5149b-7576-45b1-b177-96237e5ba77b

Nigel Horne authored on 2003/09/29 22:00:23
Showing 2 changed files
... ...
@@ -1,3 +1,7 @@
1
+Mon Sep 29 13:59:13 BST 2003 (njh)
2
+---------------------------------
3
+  * libclamav:	Handle Content-Type: /; name="eicar.com"
4
+
1 5
 Mon Sep 29 13:42:51 CEST 2003 (tk)
2 6
 ----------------------------------
3 7
   * libclamav: initial support for cvd file format (a database container file
... ...
@@ -17,11 +17,14 @@
17 17
  *
18 18
  * Change History:
19 19
  * $Log: mbox.c,v $
20
+ * Revision 1.11  2003/09/29 12:58:32  nigelhorne
21
+ * Handle Content-Type: /; name="eicar.com"
22
+ *
20 23
  * Revision 1.10  2003/09/28 10:06:34  nigelhorne
21 24
  * Compilable under SCO; removed duplicate code with message.c
22 25
  *
23 26
  */
24
-static	char	const	rcsid[] = "$Id: mbox.c,v 1.10 2003/09/28 10:06:34 nigelhorne Exp $";
27
+static	char	const	rcsid[] = "$Id: mbox.c,v 1.11 2003/09/29 12:58:32 nigelhorne Exp $";
25 28
 
26 29
 #ifndef	CL_DEBUG
27 30
 /*#define	NDEBUG	/* map CLAMAV debug onto standard */
... ...
@@ -544,13 +547,18 @@ insert(message *mainMessage, blob **blobsIn, int nBlobs, text *textIn, const cha
544 544
 								else
545 545
 									cli_warnmsg("Invalid content-type '%s' received, no subtype specified, assuming text/plain; charset=us-ascii\n", arg);
546 546
 								messageSetMimeType(aMessage, "text");
547
-								messageSetMimeType(aMessage, "text");
548 547
 								messageSetMimeSubtype(aMessage, "plain");
549 548
 							} else {
550
-								messageSetMimeType(aMessage, strtok_r(arg, "/", &strptr));
551
-								messageSetMimeSubtype(aMessage, strtok_r(NULL, ";", &strptr));
552
-								ptr = strtok_r(NULL, "\r\n", &strptr);
553
-								if(ptr)
549
+								if(*arg == '/') {
550
+									cli_warnmsg("Content-type '/' received, assuming application/octet-stream\n");
551
+									messageSetMimeType(aMessage, "application");
552
+									messageSetMimeSubtype(aMessage, "octet-stream");
553
+									ptr = strtok_r(arg, ";", &strptr);
554
+								} else {
555
+									messageSetMimeType(aMessage, strtok_r(arg, "/", &strptr));
556
+									messageSetMimeSubtype(aMessage, strtok_r(NULL, ";", &strptr));
557
+								}
558
+								if((ptr = strtok_r(NULL, "\r\n", &strptr)) != NULL)
554 559
 									messageAddArguments(aMessage, ptr);
555 560
 							}
556 561
 							break;