CVS: tmda/TMDA ChangeLog,1.281,1.282 Deliver.py,1.15,1.16 MTA.py,1.16,1.17
Timothy Legant <[email protected]>
| Newsgroups | gmane.mail.spam.tmda.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tmda/tmda/TMDA In directory sc8-pr-cvs1:/tmp/cvs-serv22566/TMDA Modified Files: ChangeLog Deliver.py MTA.py Log Message: Added '-p/--print' option to tmda-rfilter to print successfully confirmed or filtered messages to stdout rather than delivering them. Modified MTA.deliver, MTA.stop, Qmail.deliver, Deliver.deliver and Deliver.get_instructions for '_filter_' delivery. This allows tmda-filter to work as a filter in maildrop and procmail. Index: ChangeLog =================================================================== RCS file: /cvsroot/tmda/tmda/TMDA/ChangeLog,v retrieving revision 1.281 retrieving revision 1.282 diff -u -r1.281 -r1.282 --- ChangeLog 11 Jul 2003 23:03:00 -0000 1.281 +++ ChangeLog 19 Jul 2003 04:29:26 -0000 1.282 @@ -1,3 +1,12 @@ +2003-07-18 Tim Legant <[email protected]> + + * MTA.py (MTA.deliver, MTA.stop, Qmail.deliver): Added support for + the delivery when Defaults.DELIVERY = '_filter_'. + + * Deliver.py (Deliver.get_instructions, Deliver.deliver): Added + support for the '_filter_' style of delivery, where the message is + simply piped to stdout. + 2003-07-11 Tim Legant <[email protected]> * Defaults.py: New variables DB_BARE_APPEND and Index: Deliver.py =================================================================== RCS file: /cvsroot/tmda/tmda/TMDA/Deliver.py,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- Deliver.py 25 May 2003 02:21:20 -0000 1.15 +++ Deliver.py 19 Jul 2003 04:29:26 -0000 1.16 @@ -27,6 +27,7 @@ import signal import socket import stat +import sys import time import Defaults @@ -98,6 +99,9 @@ self.delivery_dest = self.option if firstchar == '~': self.delivery_dest = os.path.expanduser(self.delivery_dest) + elif self.option == '_filter_': + self.delivery_type = 'filter' + self.delivery_dest = 'stdout' # Unknown delivery instruction. else: raise Errors.DeliveryError, \ @@ -138,6 +142,8 @@ else: # don't wrap headers, don't escape From, don't add From_ line self.__deliver_maildir(Util.msg_as_string(self.msg), dest) + elif type == 'filter': + sys.stdout.write(Util.msg_as_string(self.msg)) def __deliver_program(self, message, program): """Deliver message to /bin/sh -c program.""" Index: MTA.py =================================================================== RCS file: /cvsroot/tmda/tmda/TMDA/MTA.py,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- MTA.py 25 May 2003 02:09:19 -0000 1.16 +++ MTA.py 19 Jul 2003 04:29:26 -0000 1.17 @@ -48,14 +48,16 @@ sys.exit(self.EX_TEMPFAIL) def stop(self): + if self.default_delivery == '_filter_': + sys.exit(99) sys.exit(self.EX_OK) def deliver(self, msg, instruction=None): - if instruction is None: + if instruction is None or self.default_delivery == '_filter_': instruction = self.default_delivery msg = Deliver.Deliver(msg, instruction) msg.deliver() - self.stop() + sys.exit(0) class Exim(MTA): @@ -91,13 +93,15 @@ sys.exit(self.EX_STOP) def deliver(self, msg, instruction=None): - if instruction is None: + if instruction is None or self.default_delivery == '_filter_': instruction = self.default_delivery if instruction == '_qok_': sys.exit(self.EX_OK) else: msg = Deliver.Deliver(msg, instruction) msg.deliver() + if instruction == '_filter_': + sys.exit(self.EX_OK) self.stop() _______________________________________ tmda-cvs mailing list http://tmda.net/lists/listinfo/tmda-cvs