Browse code

Handle BeMail (BeOS) files

git-svn: trunk@1011

Nigel Horne authored on 2004/10/17 04:12:33
Showing 2 changed files
... ...
@@ -1,3 +1,8 @@
1
+Sat Oct 16 20:11:15 BST 2004 (njh)
2
+----------------------------------
3
+  * libclamav/mbox.c:	Rudimentary handling of BeMail (BeOS) messages.
4
+				Documentation of the format would be appreciated
5
+
1 6
 Sat Oct 16 18:24:33 BST 2004 (njh)
2 7
 ----------------------------------
3 8
   * libclamav/mbox.c:	Handle headers such as boundary="=.J:gysAG)N(3_zv"
... ...
@@ -17,6 +17,9 @@
17 17
  *
18 18
  * Change History:
19 19
  * $Log: mbox.c,v $
20
+ * Revision 1.156  2004/10/16 19:09:39  nigelhorne
21
+ * Handle BeMail (BeOS) files
22
+ *
20 23
  * Revision 1.155  2004/10/16 17:23:04  nigelhorne
21 24
  * Handle colons in quotes in headers
22 25
  *
... ...
@@ -453,7 +456,7 @@
453 453
  * Compilable under SCO; removed duplicate code with message.c
454 454
  *
455 455
  */
456
-static	char	const	rcsid[] = "$Id: mbox.c,v 1.155 2004/10/16 17:23:04 nigelhorne Exp $";
456
+static	char	const	rcsid[] = "$Id: mbox.c,v 1.156 2004/10/16 19:09:39 nigelhorne Exp $";
457 457
 
458 458
 #if HAVE_CONFIG_H
459 459
 #include "clamav-config.h"
... ...
@@ -655,6 +658,15 @@ static	void	*getURL(struct arg *arg);
655 655
 				 * boundary="nextPart1383049.XCRrrar2yq";
656 656
 				 * protocol="application/pgp-encrypted"
657 657
 				 */
658
+#define	X_BFILE		RELATED	/*
659
+				 * BeOS, expert two parts: the file and it's
660
+				 * attributes. The attributes part comes as
661
+				 *	Content-Type: application/x-be_attribute
662
+				 *		name="foo"
663
+				 * I can't find where it is defined, any
664
+				 * pointers would be appreciated. For now
665
+				 * we treat it as multipart/related
666
+				 */
658 667
 
659 668
 static	const	struct tableinit {
660 669
 	const	char	*key;
... ...
@@ -682,6 +694,7 @@ static	const	struct tableinit {
682 682
 	{	"appledouble",	APPLEDOUBLE	},
683 683
 	{	"fax-message",	FAX		},
684 684
 	{	"encrypted",	ENCRYPTED	},
685
+	{	"x-bfile",	X_BFILE		},	/* BeOS */
685 686
 	{	NULL,		0		}
686 687
 };
687 688