%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/mailman/Mailman/Queue/
Upload File :
Create Path :
Current File : //lib/mailman/Mailman/Queue/BounceRunner.pyc

�
��ac@sudZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddlm
Z
ddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZdZyeefWnek
r)dZdZnXddd��YZdeefd��YZ d�Z!d�Z"d�Z#dS(sBounce queue runner.i����N(tMIMEText(tMIMEMessage(t	parseaddr(tmm_cfg(tUtils(tLockFile(tUserNotification(t
BouncerAPI(tRunner(tget_switchboard(tsyslog(t_s, iitBounceMixincBs>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cCsQtjjtjdtj��|_d|_d|_	t
j
�tj|_dS(Nsbounce-events-%05d.pcki(
tostpathtjoinRtDATA_DIRtgetpidt_bounce_events_filetNonet_bounce_events_fpt
_bouncecntttimetREGISTER_BOUNCES_EVERYt_nextaction(tself((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt__init__2s
!			cCs�tj�d }|jdkr[tjd�}zt|jd�|_Wdtj|�Xnx0|D](}tj	||||f|jd�qbW|jj
�tj|jj��|j
t|�7_
dS(Niisa+bi(Rt	localtimeRRR
tumasktopenRtcPickletdumptflushtfsynctfilenoRtlen(Rtlistnametaddrstmsgttodaytomasktaddr((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt_queue_bouncesYs

cCsgtdd||j�i}|jjd�x�tr�y"tj|j�\}}}}Wn4tk
r|}tdd|�ntk
r�PnX|j	|g�j
|||f�q/Wx}|j�D]o}|j|�}|j
�zBx1||D]%\}}}|j||d|�q�W|j�Wd|j�Xq�W|jj�d|_tj|j�d|_dS(Ntbounces%s processing %s queued bouncesisError reading bounce events: %stday(R
RRtseektTrueRtloadt
ValueErrortEOFErrort
setdefaulttappendtkeyst
_open_listtLocktregisterBouncetSavetUnlocktcloseRR
tunlinkR(RteventsR$R)R,R&tetmlist((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt_register_bounceshs0	
	"
&

	cCs |jdkr|j�ndS(Ni(RR?(R((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt_cleanup�scCsLtj�}|j|ks*|jdkr.dS|tj|_|j�dS(Ni(RRRRRR?(Rtnow((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt_doperiodic�s
cCs�|j�}|s|j�nzQ|j|�\}}}|j|�}|j|||�|so|j�nWd|s�|j�nXdS(N(tLockedR6tpend_confirmt
getBounceInfotdisableBouncingMemberR8R9(RR>ttokentlockedtopR)tbmsgtinfo((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt
_probe_bounce�s
(t__name__t
__module__RR*R?R@RBRL(((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyR1s	'				tBounceRunnercBs;eZejZddd�Zd�Zej	Z	d�Z
RS(icCs$tj|||�tj|�dS(N(RRR(Rtslicet	numslices((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyR�sc	Cs�|j�ttj�}|j�j�tjj�kro|j||d|jdt	j
dd�dd�dS|jd�t	j
|jd�kr�|j||dt	j
dd	�gdt	j
dd�dd�dS|j
s�dSt||�}|rtj||�tjkrfdSnNt||�}|rA|j||�dStj||�}|tjkrfdS|s�td
d|j�|jdd
��t||�dStd|�}|j|j�||�dS(Ntrecipst	envsendertextratloopt
nodecorateitfromtbouncestownerR+s1%s: bounce message w/no discernable addresses: %ss
message-idsn/a(tLoadR	RtOUTQUEUE_DIRt
internal_nametlowertMAILMAN_SITE_LISTtenqueueRYRtget_site_emailtgett	host_nametbounce_processingtverp_bounceRtScanMessagestStopt
verp_probeRLR
t
maybe_forwardtfilterRR*(RR>R&tmsgdatatoutqR%RG((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt_dispose�sL
			
cCstj|�tj|�dS(N(RR@R(R((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyR@s
N(RMRNRtBOUNCEQUEUE_DIRtQDIRRRRlRRBR@(((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyRO�s
		Y	c
Cs�tj|j��\}}g}x'dD]}|j|j|g��q(Wx�|D]�}t|�d}|stqRntjtj	|�}|s�qRny5||j
d�kr�wRnd|j
dd	�}	Wn%tk
r�td
dtj	�gSX|	gSWdS(
Nttosdelivered-tosenvelope-tos
apparently-toiRXs%s@%stmailboxthostterrors4VERP_REGEXP doesn't yield the right match groups: %s(stosdelivered-tosenvelope-tos
apparently-to(
Rt
ParseEmailtGetBouncesEmailtextendtget_allRtretsearchRtVERP_REGEXPtgroupt
IndexErrorR
(
R>R&tbmailboxtbdomaintvalstheadertfieldRotmoR)((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyRds*



cCstj|j��\}}g}x'dD]}|j|j|g��q(Wx�|D]�}t|�d}|stqRntjtj	|�}|s�qRnyS||j
d�kr�wRn|j
d�}	|j|	dt�}
|
dk	r�|	SWqRtk
rtd	d
tj	�qRXqRWdS(NRosdelivered-tosenvelope-tos
apparently-toiRXRGtexpungeRrs:VERP_PROBE_REGEXP doesn't yield the right match groups: %s(stosdelivered-tosenvelope-tos
apparently-to(RRsRtRuRvRRwRxRtVERP_PROBE_REGEXPRzRDtFalseRR{R
(R>R&R|R}R~RR�RoR�RGtdata((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyRg,s0


cCs�|jru|jddd�d}|j|dtd�dtd�d	d
�tdd|j�|jd
d��n%tdd|j�|jd
d��dS(Ntadmintabsoluteis/bouncettexts*The attached message was received as a bounce, but either the bounce format
was not recognized, or no member addresses could be extracted from it.  This
mailing list has been configured to send all unrecognized bounce messages to
the list administrator(s).

For more information see:
%(adminurl)s

tsubjectsUncaught bounce notificationttomoderatorsiR+s+%s: forwarding unrecognized, message-id: %ss
message-idsn/as+%s: discarding unrecognized, message-id: %s(t&bounce_unrecognized_goes_to_list_ownertGetScriptURLtForwardMessageRR
R\Ra(R>R&tadminurl((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyRhOs					(($t__doc__R
RwRRtemail.MIMETextRtemail.MIMEMessageRtemail.UtilsRtMailmanRRRtMailman.MessageRtMailman.BouncersRtMailman.Queue.RunnerRtMailman.Queue.sbcacheR	tMailman.Logging.SyslogR
tMailman.i18nRt
COMMASPACER.R�t	NameErrorRRORdRgRh(((sh/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Queue/BounceRunner.pyt<module>s6

sh	 	#

Zerion Mini Shell 1.0