filter
[exim-website.git] / system_filter.exim
index 91f456e443f0764183915f5728dd3122ada96f81..abbd0236f3444ba7c96c1cad69332468b784636b 100644 (file)
@@ -1,5 +1,5 @@
 # Exim filter
-## Version: 0.08
+## Version: 0.10
 
 ## If you haven't worked with exim filters before, read
 ## the install notes at the end of this file.
@@ -35,18 +35,28 @@ then
   seen finish
 endif
 
-# drop out error messages here
-if error_message
+# This is a nasty compromise.
+# This crud is now being sent with a <> envelope sender, but
+# blocking all error messages that pattern match prevents
+# bounces getting back.... so we fudge it somewhat
+if $header_from: contains "@sexyfun.net"
 then
+  fail text "This message has been rejected since it has\n\
+               \tthe signature of a known virus in the header."
+  seen finish
+endif
+if error_message and $header_from: contains "Mailer-Daemon@"
+then
+  # looks like a real error message - just ignore it
   finish
 endif
 
 # Look for single part MIME messages with suspicious name extensions
 # Check Content-Type header [vb2_regexp]
-if $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat)\"|[\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat))"
+if $header_content-type: matches "(?:file)?name=(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat|scr|pif)\"|[\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat|scr|pif))"
 then
   fail text "This message has been rejected because it has\n\
-            \tan apparently executable attachment $1\n\
+            \ta potentially executable attachment $1\n\
             \tThis form of attachment has been used by\n\
              \trecent viruses such as that described in\n\
             \thttp://www.fsecure.com/v-descs/love.htm\n\
@@ -59,10 +69,10 @@ endif
 # in emails.   These were used as the basis for 
 # the ILOVEYOU virus and its variants
 # [vb_regexp]
-if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat)\"|[\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat))[\\\\s;]"
+if $message_body matches "(?:Content-(?:Type:(?>\\\\s*)[\\\\w-]+/[\\\\w-]+|Disposition:(?>\\\\s*)attachment);(?>\\\\s*)(?:file)?name=|begin(?>\\\\s+)[0-7]{3,4}(?>\\\\s+))(\"[^\"]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat|scr|pif)\"|[\\\\w.-]+\\\\.(?:vb[se]|ws[fh]|jse?|exe|com|shs|bat|scr|pif))[\\\\s;]"
 then
   fail text "This message has been rejected because it has\n\
-            \tan apparently executable attachment $1\n\
+            \ta potentially executable attachment $1\n\
             \tThis form of attachment has been used by\n\
              \trecent viruses such as that described in\n\
             \thttp://www.fsecure.com/v-descs/love.htm\n\
@@ -89,6 +99,12 @@ endif
 #      Latest MS Outhouse bug catching
 # 0.08 19 July 2000
 #      Changed trigger length to 80 chars, fixed some spelling
+# 0.09 29 September 2000
+#      More extensions... its getting so we should just allow 2 or 3 through
+# 0.10 18 January 2001
+#      Removed exclusion for error messages - this is a little nasty
+#      since it has other side effects, hence we do still exclude
+#      on unix like error messages
 #
 #### Install Notes
 #
@@ -140,7 +156,9 @@ endif
 #      |exe
 #      |com
 #      |shs
-#      |bat)
+#      |bat
+#      |scr
+#      |pif)
 #      \"                                      # end quote
 #  |[\w.-]+\.                                  # unquoted filename.ext
 #      (?:vb[se]                               # list of extns
@@ -149,9 +167,11 @@ endif
 #      |exe
 #      |com
 #      |shs
-#      |bat)
+#      |bat
+#      |scr
+#      |pif)
 #  )                                           # end of filename capture
-#  [\s;]                                               # trailing ;/space/newline
+#  [\s;]                                       # trailing ;/space/newline
 #
 #
 ### [End]