-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mon, 18 Apr 2016, [email protected] wrote:

I just spent a day butting my head against the fact that filter_begin() is _always_ passed a multipart MIME message container that _never_ has a useable $entity->bodyhandle(). This is not mentioned *anywhere*.

hmm, I would not rely on this assumption.

I'm still having trouble seeing it--apologies. Spent most of an hour going through the presentation deck Saturday while writing the body regex scanner and did not find anything that addresses it. Just looked again searching the document for "body," "open," "text," "match" "regex," "regular," "expression," "getline" and "match" with no luck.

Hmm,

because MIMEDefang internally breaks up the message into parts anyway and feeds all parts to filter(), I would construct your code like so:

filter_begin {

  $globalFlag = 0;

}

filter {

 if($globalFlag == 0) { # first plain part ever
   $globalFlag = 1;
   if($type =~ m!\Atext/!i) {
    scan that part
    if(condition) {
     $gloablFlag = 2; or drop/replace part right here and now
    }
   }
 }

}

filter_end {
  if($globalFlag == 2) {
    full message processing
  }
}

Of course, if you do no further processing, this looks like overhead.

- -- Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEVAwUBVxXXD1GgR0+MU/4GAQIFDAf/RxavIbAicmLftDwvQ2HVlf3rMO+zk3ph
62OkDAVzeiSMDEFnqHytwd9NAy90G1RPiCx6FZpRZqkM1Me2We7+LdBUhi6UsvjD
YRdCqJ4n1qLKQ48zqIY1jr1FgnwfkGTGh7cqbzSllORe9ONGXfKlszXs2VYeb9t8
5bsACDAyYcD+ZPPe0d+2CCHRMNiERRZK9JMOMQxfEmHZuykYdTDPFuO2sNZTVzec
94nDdt4lNRP3Sf6BGYO1S83ZWs7AFcBD4fB5p/M1JiuVGdPRM80BkMhpuPvBwZhY
xuB7e2r2jyoLb5VV8zMisabIyPW++TcocXBgqQloNxCRQe6yOQOZlg==
=65Va
-----END PGP SIGNATURE-----
_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to