Re: [EXIM] Perl enabled exim

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Nigel Metheringham
Dátum:  
Címzett: Oliver Smith
CC: exim-users
Tárgy: Re: [EXIM] Perl enabled exim

oliver@??? said:
} To answer this and then try and get back to the original question;
} Perl 5 is designed to be integratable, so you could actually hijack
} perl5 and write your own main() for it, which opened port 25 as a
} listening port if neccessary, gave away permissions, ran your C
} initialisation and then handed over to Perl.

Hmm... could do things this way I guess...

My preference is leaning more and more towards having an additional thing
that goes in the same place as the system filter does right now. It
starts a new interpreter (probably using a script that was pre-compiled on
startup - saves overall time), and runs that at that point, probably with
the same permissions as the system filter runs right now. The API built
round it would give it read-only access to basically the set of variables
that exim defines for filters.

It would be able to return:-
- a list of recipients (unmodified, modified or empty)
- an instruction (freeze, drop, bounce or "send-directly-to-transport(x)"

} The main issues with embedding perl into exim are security (you could
} embed taintperl, but that wouldn't help much)

run in same way as the current filter - same security worries (but more
powerful language)

} and garbage collection.

Need to look what happens right now - I guess the filter actually runs in
another process (need to look), in which case that process dies and gets
taken out with the trash (oh dear, how american - maybe I mean collected
by the dustbin lorry).

} How many perl scripts open files, create strings and arrays, and then
} just exit, with no cleanup?

The perl stuff itself should garbage collect - if you destroy the
interpreter.

    Nigel.
-- 
[ Nigel.Metheringham@???   -  Systems Software Engineer ]
[ Tel : +44 113 251 6012                   Fax : +44 113 234 6065 ]
[      Real life is but a pale imitation of a Dilbert strip       ]




--
*** Exim information can be found at http://www.exim.org/ ***