> Anyone remember? Or did that even go into the Wiki?

I attached our mime_acl.cf which includes some mime tests.

- oliver

Tom Kistner schrieb:
> Philip Hazel wrote:
> 
> 
>>>There appear two variables "mime_anomaly_text" and "mime_anomaly_level".
>>>Did the documentation get lost in the conversion process to the new
>>>manual format?
>>
>>Tom? Any documentation for these variables?
> 
> 
> They are reserved for "future development". There's one check they
> already carry but I'd have to look in the source to find out which one :)
> 
> The MIME ACL is actually quite flexible in its ability to apply basic
> sanity checks. There was a thread some months back where someone
> summarized a MIME ACL that had all the demime checks save one or so.
> 
> Anyone remember? Or did that even go into the Wiki?
> 
> Sorry I'm too busy to look right now, the kids are running rampage in my
> office ...
> 
> /tom
> 
> 
> 


# $Id: mime_acl.cf 5127 2005-08-28 17:20:24Z oliver $

###############################
# MIME-ACL
###############################

warn !condition = ${if eq {$acl_m2}{mime_acl_called}{1}{0}}
set acl_m6 = 0
# log_message = acl_m6 set to Zero (First MIME-Part) acl_m6 = $acl_m6

warn set acl_m2 = mime_acl_called

warn set acl_c6 =

# Interene Hosts werden diesen Checks nmicht unterzogen
accept hosts = +relay_from_hosts

# Decode MIME parts to disk. This will support virus scanners later.
warn  decode = default

# warn log_message = DEBUG: [$mime_part_count] -> [$mime_filename] 
[$mime_content_type]

# File extension filtering.
warn   message  = This message contains a prohibited file extension 
(${extract{-1}{.}{${lc:$mime_filename}}})
       condition       = ${if 
match{${extract{-1}{.}{${lc:$mime_filename}}}}{\N^(BAD_ATTACHMENTS)$\N}{1}{0}}
       set acl_m6 = ${eval:${acl_m6}+50}
       set acl_c6 = $acl_c6 MIME-BAD-ATTACHMENT
       # log_message     = BAD_ATTACHMENT 
(${extract{-1}{.}{${lc:$mime_filename}}})

# CLSID Attachment Blocking
warn condition = ${if match{$mime_filename}{\N\{[a-hA-H0-9-]{25,}\}\N}{1}{0}}
     set acl_m6 = ${eval:${acl_m6}+40}
     set acl_c6 = $acl_c6 MIME-CLSID-ATTACHMENT
     # message = BAD_ATTACHMENT (CLSID)

# Empty (invalid) MIME Boundaries
warn  condition  = $mime_is_multipart
      condition  = ${if eq{$mime_boundary}{}{yes}{no}}
      set acl_m6 = ${eval:${acl_m6}+30}
      set acl_c6 = $acl_c6 MIME-INVALID-BOUNDARIES
      # message = MIME_ERROR (Empty MIME Boundary)

# Too many MIME parts
warn
  condition   = ${if >{$mime_part_count}{256}{yes}{no}}
  message     = MIME_ERROR : Too many MIME parts (max 256)
  set acl_m6 = ${eval:${acl_m6}+30}
  set acl_c6 = $acl_c6 MIME-INVALID-PART-COUNT
  # log_message = MIME_ERROR : Too many MIME parts: $mime_part_count

# Excessive line length
warn
  regex       = ^.{16382}
  set acl_m6 = ${eval:${acl_m6}+40}
  set acl_c6 = $acl_c6 MIME-INVALID-LINE-LENGTH
  # message     = MIME_ERROR Line length in message or single header exceeds 
16382.
  # log_message = MIME_ERROR : Maximum line length exceeded

# Partial message
warn
  condition   = ${if eq {$mime_content_type}{message/partial}{yes}{no}}
  set acl_m6 = ${eval:${acl_m6}+30}
  set acl_c6 = $acl_c6 MIME-PARTIAL-MESSAGE
  # message     = MIME_ERROR : MIME type message/partial not allowed here
  # log_message = MIME_ERROR : MIME type message/partial found

# Filename length too long (> 512 characters)
warn
  condition   = ${if >{${strlen:$mime_filename}}{512}{yes}{no}}
  set acl_m6 = ${eval:${acl_m6}+35}
  set acl_c6 = $acl_c6 MIME-INVALID-FILENAME-LENGTH
  # message     = MIME_ERROR : Proposed filename exceeds 512 characters
  # log_message = MIME_ERROR : Proposed filename too long

# MIME boundary length too long (> 1024)
warn
  condition   = ${if >{${strlen:$mime_boundary}}{1024}{yes}{no}}
  set acl_m6 = ${eval:${acl_m6}+35}
  set acl_c6 = $acl_c6 MIME-INVALID-BOUNDARY-LENGTH
  # message     = MIME_ERROR : MIME boundary length exceed 1024 characters
  # log_message = MIME_ERROR : (Boundary length too long)

# Boundary Space Gap
   warn condition   = ${if match{$mime_boundary}{^( |\t)}{yes}{no}}
   set acl_m6 = ${eval:${acl_m6}+20}
   set acl_c6 = $acl_c6 MIME-BOUNDARY-SPACE-GAP     
   # message     = Broken MIME container (Boundary Space Gap)



accept
-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to