[Mimedefang] Order of the fuctions?

Jan Pieter Cornet johnpc at xs4all.nl
Fri Jun 17 16:07:43 EDT 2005


On Fri, Jun 17, 2005 at 11:09:34AM -0800, Matthew Schumacher wrote:
> Anyone have a list of all of the functions that mimedefang calls in the
> filter in order?
> 
> I read though the man page and this is what I came up with:

You're forgetting connections, I think it is somewhat like
this:

    filter_initialize()

    foreach connection {
	filter_relay()

	foreach message {
	    filter_sender()

	    foreach recipient {
		filter_recipient()
	    }

	    filter_begin()

	    foreach part {
		if ( is_multipart ) {
		    filter_multipart()
		}
		else {
		    filter()
		}
	    }

	    filter_end()
	}
    }

    filter_cleanup()

And independently the filter can call filter_tick, filter_map
or filter_unknown_cmd.

> Also is it generally save to use filter_sender to flush vars so that
> they don't carry over into the next message since it's the first thing
> called on each message?

NO! You are missing one very important thing: each call might end up
in a _different_ mimedefang.pl client. See "GLOBAL VARIABLE LIFETIME"
in the mimedefang-filter manpage.

-- 
#!perl -wpl # mmfppfmpmmpp mmpffm <pmmppfmfpppppfmmmf at fpffmm4mmmpmfpmf.ppppmf>
$p=3-2*/[^\W\dmpf_]/i;s.[a-z]{$p}.vec($f=join('',$p-1?chr(sub{$_[0]*9+$_[1]*3+
$_[2]}->(map{/p|f/i+/f/i}split//,$&)+97):qw(m p f)[map{((ord$&)%32-1)/$_%3}(9,
3,1)]),5,1)='`'lt$&;$f.eig;                                # Jan-Pieter Cornet



More information about the MIMEDefang mailing list