tom 2004/12/02 16:33:30 GMT
Modified files: (Branch: EXISCAN)
exim-src/OS Makefile-Base
exim-src/scripts MakeLinks
exim-src/src acl.c config.h.defaults exim.c exim.h
receive.c smtp_in.c
Added files: (Branch: EXISCAN)
exim-src/src demime.c demime.h
Log:
added demime code w/o TNEF
Revision Changes Path
1.1.2.3 +2 -1 exim/exim-src/OS/Makefile-Base
1.1.2.3 +6 -0 exim/exim-src/scripts/MakeLinks
1.5.2.3 +33 -2 exim/exim-src/src/acl.c
1.2.2.3 +1 -0 exim/exim-src/src/config.h.defaults
1.1.2.1 +1245 -0 exim/exim-src/src/demime.c (new)
1.1.2.1 +136 -0 exim/exim-src/src/demime.h (new)
1.9.2.2 +3 -0 exim/exim-src/src/exim.c
1.2.2.2 +7 -1 exim/exim-src/src/exim.h
1.4.2.2 +2 -2 exim/exim-src/src/receive.c
1.5.2.2 +1 -1 exim/exim-src/src/smtp_in.c
Index: Makefile-Base
===================================================================
RCS file: /home/cvs/exim/exim-src/OS/Makefile-Base,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- Makefile-Base 30 Nov 2004 15:18:58 -0000 1.1.2.2
+++ Makefile-Base 2 Dec 2004 16:33:30 -0000 1.1.2.3
@@ -1,4 +1,4 @@
-# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.1.2.2 2004/11/30 15:18:58 tom Exp $
+# $Cambridge: exim/exim-src/OS/Makefile-Base,v 1.1.2.3 2004/12/02 16:33:30 tom Exp $
# This file is the basis of the main makefile for Exim and friends. The
# makefile at the top level arranges to build the main makefile by calling
@@ -287,7 +287,7 @@
# Targets for final binaries; the main one has a build number which is
# updated each time. We don't bother with that for the auxiliaries.
-OBJ_WITH_CONTENT_SCAN = malware.o mime.o regex.o spam.o spool_mbox.o
+OBJ_WITH_CONTENT_SCAN = demime.o malware.o mime.o regex.o spam.o spool_mbox.o
OBJ_EXIM = acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.o \
directory.o dns.o drtables.o enq.o exim.o expand.o filter.o \
@@ -551,6 +551,7 @@
# Dependencies for WITH_CONTENT_SCAN modules
+demime.o: $(HDRS) demime.c
malware.o: $(HDRS) malware.c
mime.o: $(HDRS) mime.c
regex.o: $(HDRS) regex.c
Index: MakeLinks
===================================================================
RCS file: /home/cvs/exim/exim-src/scripts/MakeLinks,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- MakeLinks 26 Nov 2004 09:24:54 -0000 1.1.2.2
+++ MakeLinks 2 Dec 2004 16:33:30 -0000 1.1.2.3
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Cambridge: exim/exim-src/scripts/MakeLinks,v 1.1.2.2 2004/11/26 09:24:54 tom Exp $
+# $Cambridge: exim/exim-src/scripts/MakeLinks,v 1.1.2.3 2004/12/02 16:33:30 tom Exp $
# Script to build links for all the exim source files from the system-
# specific build directory. It should be run from within that directory.
@@ -180,6 +180,9 @@
ln -s ../src/dbfunctions.h dbfunctions.h
ln -s ../src/dbstuff.h dbstuff.h
+# WITH_OLD_DEMIME
+ln -s ../src/demime.h demime.h
+#
ln -s ../src/exim.h exim.h
ln -s ../src/functions.h functions.h
ln -s ../src/globals.h globals.h
@@ -204,6 +207,9 @@
ln -s ../src/dbfn.c dbfn.c
ln -s ../src/debug.c debug.c
ln -s ../src/deliver.c deliver.c
+# WITH_OLD_DEMIME
+ln -s ../src/demime.c demime.c
+#
ln -s ../src/directory.c directory.c
ln -s ../src/dns.c dns.c
ln -s ../src/drtables.c drtables.c
Index: acl.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/acl.c,v
retrieving revision 1.5.2.2
retrieving revision 1.5.2.3
diff -u -r1.5.2.2 -r1.5.2.3
--- acl.c 30 Nov 2004 15:18:58 -0000 1.5.2.2
+++ acl.c 2 Dec 2004 16:33:30 -0000 1.5.2.3
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/acl.c,v 1.5.2.2 2004/11/30 15:18:58 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/acl.c,v 1.5.2.3 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -38,7 +38,11 @@
#ifdef WITH_CONTENT_SCAN
ACLC_DECODE,
#endif
- ACLC_DELAY, ACLC_DNSLISTS, ACLC_DOMAINS, ACLC_ENCRYPTED, ACLC_ENDPASS,
+ ACLC_DELAY,
+#ifdef WITH_OLD_DEMIME
+ ACLC_DEMIME,
+#endif
+ ACLC_DNSLISTS, ACLC_DOMAINS, ACLC_ENCRYPTED, ACLC_ENDPASS,
ACLC_HOSTS, ACLC_LOCAL_PARTS, ACLC_LOG_MESSAGE, ACLC_LOGWRITE,
#ifdef WITH_CONTENT_SCAN
ACLC_MALWARE,
@@ -66,7 +70,11 @@
#ifdef WITH_CONTENT_SCAN
US"decode",
#endif
- US"delay", US"dnslists", US"domains", US"encrypted",
+ US"delay",
+#ifdef WITH_OLD_DEMIME
+ US"demime",
+#endif
+ US"dnslists", US"domains", US"encrypted",
US"endpass", US"hosts", US"local_parts", US"log_message", US"logwrite",
#ifdef WITH_CONTENT_SCAN
US"malware",
@@ -104,6 +112,9 @@
TRUE, /* decode */
#endif
TRUE, /* delay */
+#ifdef WITH_OLD_DEMIME
+ TRUE, /* demime */
+#endif
TRUE, /* dnslists */
FALSE, /* domains */
FALSE, /* encrypted */
@@ -143,6 +154,9 @@
FALSE, /* decode */
#endif
TRUE, /* delay */
+#ifdef WITH_OLD_DEMIME
+ FALSE, /* demime */
+#endif
FALSE, /* dnslists */
FALSE, /* domains */
FALSE, /* encrypted */
@@ -196,6 +210,17 @@
#endif
0, /* delay */
+
+#ifdef WITH_CONTENT_SCAN
+ (1<<ACL_WHERE_NOTSMTP)|(1<<ACL_WHERE_AUTH)| /* demime */
+ (1<<ACL_WHERE_CONNECT)|(1<<ACL_WHERE_HELO)|
+ (1<<ACL_WHERE_RCPT)|(1<<ACL_WHERE_PREDATA)|
+ (1<<ACL_WHERE_ETRN)|(1<<ACL_WHERE_EXPN)|
+ (1<<ACL_WHERE_MAILAUTH)|(1<<ACL_WHERE_QUIT)|
+ (1<<ACL_WHERE_MAIL)|(1<<ACL_WHERE_STARTTLS)|
+ (1<<ACL_WHERE_VRFY)|(1<<ACL_WHERE_MIME),
+#endif
+
(1<<ACL_WHERE_NOTSMTP), /* dnslists */
(1<<ACL_WHERE_NOTSMTP)|(1<<ACL_WHERE_AUTH)| /* domains */
@@ -1620,6 +1645,12 @@
}
}
break;
+
+#ifdef WITH_OLD_DEMIME
+ case ACLC_DEMIME:
+ rc = demime(&arg);
+ break;
+#endif
case ACLC_DNSLISTS:
rc = verify_check_dnsbl(&arg);
Index: config.h.defaults
===================================================================
RCS file: /home/cvs/exim/exim-src/src/config.h.defaults,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -r1.2.2.2 -r1.2.2.3
--- config.h.defaults 2 Dec 2004 09:15:11 -0000 1.2.2.2
+++ config.h.defaults 2 Dec 2004 16:33:30 -0000 1.2.2.3
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/config.h.defaults,v 1.2.2.2 2004/12/02 09:15:11 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/config.h.defaults,v 1.2.2.3 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -139,6 +139,7 @@
#define USE_TDB
#define WITH_CONTENT_SCAN
+#define WITH_OLD_DEMIME
/* Things that are not routinely changed but are nevertheless configurable
just in case. */
Index: exim.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.c,v
retrieving revision 1.9.2.1
retrieving revision 1.9.2.2
diff -u -r1.9.2.1 -r1.9.2.2
--- exim.c 2 Dec 2004 09:15:11 -0000 1.9.2.1
+++ exim.c 2 Dec 2004 16:33:30 -0000 1.9.2.2
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.c,v 1.9.2.1 2004/12/02 09:15:11 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.c,v 1.9.2.2 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -841,6 +841,9 @@
#endif
#ifdef WITH_CONTENT_SCAN
fprintf(f, " Content_Scanning");
+#endif
+#ifdef WITH_OLD_DEMIME
+ fprintf(f, " Old_Demime");
#endif
fprintf(f, "\n");
Index: exim.h
===================================================================
RCS file: /home/cvs/exim/exim-src/src/exim.h,v
retrieving revision 1.2.2.1
retrieving revision 1.2.2.2
diff -u -r1.2.2.1 -r1.2.2.2
--- exim.h 30 Nov 2004 15:18:58 -0000 1.2.2.1
+++ exim.h 2 Dec 2004 16:33:30 -0000 1.2.2.2
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/exim.h,v 1.2.2.1 2004/11/30 15:18:58 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/exim.h,v 1.2.2.2 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -379,9 +379,15 @@
/* Exim includes are in several files. Note that local_scan.h #includes
mytypes.h and store.h, so we don't need to mention them explicitly. */
+#include "config.h"
+
+/* Before including the rest of the Exim headers, lets clear up some content
+scanning dependencies. */
+#ifdef WITH_OLD_DEMIME
+#define WITH_CONTENT_SCAN
+#endif
#include "local_scan.h"
-#include "config.h"
#include "macros.h"
#include "dbstuff.h"
#include "structs.h"
Index: receive.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/receive.c,v
retrieving revision 1.4.2.1
retrieving revision 1.4.2.2
diff -u -r1.4.2.1 -r1.4.2.2
--- receive.c 2 Dec 2004 09:15:11 -0000 1.4.2.1
+++ receive.c 2 Dec 2004 16:33:30 -0000 1.4.2.2
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/receive.c,v 1.4.2.1 2004/12/02 09:15:11 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/receive.c,v 1.4.2.2 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -3383,7 +3383,7 @@
{
#ifndef WITH_CONTENT_SCAN
smtp_printf("250 OK id=%s\r\n", message_id);
-#elif
+#else
if (fake_reject)
{
smtp_printf("550-FAKE_REJECT id=%s\r\n", message_id);
@@ -3399,7 +3399,7 @@
}
#ifndef WITH_CONTENT_SCAN
else if (smtp_reply[0] != 0) smtp_printf("%.1024s\r\n", smtp_reply);
-#elif
+#else
else if (smtp_reply[0] != 0)
{
if (fake_reject && (smtp_reply[0] == '2'))
Index: smtp_in.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -u -r1.5.2.1 -r1.5.2.2
--- smtp_in.c 2 Dec 2004 09:15:11 -0000 1.5.2.1
+++ smtp_in.c 2 Dec 2004 16:33:30 -0000 1.5.2.2
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.5.2.1 2004/12/02 09:15:11 tom Exp $ */
+/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.5.2.2 2004/12/02 16:33:30 tom Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1794,7 +1794,7 @@
#ifndef WITH_CONTENT_SCAN
if (where == ACL_WHERE_RCPT || where == ACL_WHERE_DATA)
-#elif
+#else
if (where == ACL_WHERE_RCPT || where == ACL_WHERE_DATA || where == ACL_WHERE_MIME)
#endif
{