%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/mailman/Mailman/Handlers/
Upload File :
Create Path :
Current File : //lib/mailman/Mailman/Handlers/Scrubber.pyo

�
��ac@s4dZddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlm Z ddl!m"Z"ej#d�Z$ej#d�Z%ej#d�Z&dZ'dZ(ye)e*fWne+k
r�dZ)dZ*nXyddl,m-Z-Wn)e.k
r�ddl,Z,e)d�Z-nXd�Z/d�Z0d�Z1d�Z2dd�Z4d �Z5e)d!�Z6dS("s Cleanse a message for archiving.i����(t
nested_scopesN(tStringIO(tIntTypet
StringType(t	parsedate(tHeaderParser(t	Generator(tCharset(tmm_cfg(tUtils(tLockFile(tMessage(tDiscardMessage(t_(tsyslog(tsha_news[/\\:]s[^-\w.]s^\.*s<br>
t ii(tguess_all_extensionscsOg���fd�}|tj�|rKttd�rK|tj�n�S(Ncs=x6|j�D](\}}|�kr
�j|�q
q
WdS(N(titemstappend(tmaptett(talltctype(sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pytcheckFstcommon_types(t	mimetypest	types_mapthasattrR(RtstrictR((RRsg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyRCs
cCs0t|dt�}||kr"|S|o/|dS(NRi(RtFalse(RtextR((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pytguess_extensionRscCs6ytj||�SWntttfk
r1dSXdS(N(ttimetstrftimet	TypeErrort
ValueErrort
OverflowErrortNone(tfmtR((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyt
safe_strftime]sc
Cs�d}|jd�}|r*t|�}n!tj|jdtj���}t||�}|s�|jd�}|r�t||�}q�n|sn|j�j�}y�idd6dd6d	d
6dd6d
d6dd6dd6dd6dd6dd6dd6dd6j|d	d�}t|d�}	t|d�}
Wn%tt	fk
rWd}}	}
nXd|
||	f}n|d}|dkr�tj|�}|d <nt
|�j�}tjjd!||d |d"�S(#Ns%Y%m%dtDatet
received_timesX-List-Received-DateitJanitFebitMaritApritMayitJunitJulitAugi	tSepi
tOctitNovitDecis%04d%02d%02ds
message-ids
Message-IDtattachmentsi����(tgetRR"tgmtimeR)tget_unixfromtsplittintt
IndexErrorR%R'R	tunique_message_idRt	hexdigesttostpathtjoin(
tmlisttmsgtmsgdataR(tdatestrtnowtdatedirtpartstmonthtdaytyeartmsgidtdigest((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pytcalculate_attachments_dirds4!--
cCsC|d=|d=t|t�r/|jd�}n|j||�dS(Nscontent-typescontent-transfer-encodingsus-ascii(t
isinstancetunicodetencodetset_payload(REttexttcharset((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pytreplace_payload_by_text�s
cCs�tj}t}|dkr$i}n|r:|js:dSnt|||�}d}tj|j�}t	|�j
pv|}d}	}
xY|j�D]K}|j�}|dkr|dkr�|j
|�}|jd�}	|jd�}
n|jd�r�|j
�r�tjd�}
zt|||�}Wdtj|
�X|jtd��}tj||�}t|td�|�q�nV|dkr
t|t�r
|d	kr�|r�t�nt|td
�|�q�|dkr�q�|dkr>tjd�}
zt|||dt�}Wdtj|
�Xt|td
�|�q�tj|jdt��}d�}g|jd�D]}||�^qr}dtj|�d}|j |�|d=tjd�}
zt|||dt�}Wdtj|
�Xt|td
�|�n�|dkr�|jd	�}tjd�}
zt|||�}Wdtj|
�X|jdtd��}tj||�}|jdtd��}|jdtd��}t!t"|��}t|td�|�n�|j�r�|j#�r�|jdt�}|j�}|dkr)q�nt!|�}tjd�}
zt|||�}Wdtj|
�X|jdtd��}tj||�}|jtd��}tj||�}t|td�|�nt}q�W|j#�r�|s�|dkr|}nt	|�j
p|}g}x�|j�D]�}|j�s/|j#�rTq/n|j�}|dkr�|dks�|dkr�|j$td��q/ny|jdt�p�d }Wn,t%j&t'fk
r�|j�p�d }nX|j(�}|r	t"|�}n|j
�}|r�||kr�yt)||d!�}Wn/t*t+t,t-fk
rnt)|d"d!�}nXy|j.|d!�}Wq�t*t+t,t-fk
r�|j.|d!�}q�Xnt|t/�r/|j0d�s�|d7}n|j$|�q/q/Wtd#�}y(t)||d!�}|j.|d!�}Wnt*t+t,t-fk
rLnXt||j|�|�|	r|j1d$|	�n|
r�|j1d%|
�q�n|S(&Ns
text/plaintformattdelspscontent-dispositionis
not availablesYAn embedded and charset-unspecified text was scrubbed...
Name: %(filename)s
URL: %(url)s
s	text/htmlis$HTML attachment scrubbed and removeditfilter_htmls0An HTML attachment was scrubbed...
URL: %(url)s
tdecodecSs|jd�jdd�S(NiRs&nbsp;(t
expandtabstreplace(ts((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyt	doreplace�ss
s<tt>
s
</tt>
scontent-transfer-encodingsmessage/rfc822tsubjects
no subjecttdatesno datetfromsunknown sendersrAn embedded message was scrubbed...
From: %(who)s
Subject: %(subject)s
Date: %(date)s
Size: %(size)s
URL: %(url)s
scontent-descriptionszA non-text attachment was scrubbed...
Name: %(filename)s
Type: %(ctype)s
Size: %(size)d bytes
Desc: %(desc)s
URL: %(url)s
sus-asciis&Skipped content of type %(partctype)s
tR]tasciis(-------------- next part --------------
tFormattDelSp(2RtARCHIVE_HTML_SANITIZERtTrueR'tscrub_nondigestRPR	t
GetCharSettpreferred_languageRtoutput_charsettwalktget_content_typetget_content_charsett	get_paramR9RAtumasktsave_attachmenttget_filenameR
tonelineRWRQRRRtwebsafetget_payloadR<tBRRCRTtlentstrtis_multipartRtbinasciitErrorR$tget_charsetRRtUnicodeErrortLookupErrorR%tAssertionErrorRSRtendswitht	set_param(RDRERFtsanitizetoutertdirRVtlcsett	lcset_outRXRYtpartRtomaskturltfilenametpayloadR_R^tlinestsubmsgR`RatwhotsizetdescRUt	partctypeRtpartcharsettsep((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pytprocess�s			

			
		(
			
	



cCsey3tj|d�d�}tjj||d�Wn+tk
r`}|jtjkra�qanXdS(Ni�cSstj|d�dS(Ni�(RAtchmod(targtdirnametnames((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyttwiddle�s(RAtmakedirsRBRmR'tOSErrorterrnotEEXIST(R�R�R((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyR��s	cCsntjj|j�|�}t|�|jdt�}|j�}tj	|j
�}tj|jd�|�}tjj
|�\}}	tjr�|	p�t||	�}
nt||	�}
|
s�|dkr�d}
q�d}
ntjd|
�}
d}tjj|d�}tj|�}
|
j�z�|s5tjr>d}nCtj|�}|d}tjd|�}tjd|�}|}d	}d}xQtr�tjj||||
�}tjj|�r�|d
7}d|}q�Pq�WWd|
j�X|r�|dkr�tjj
|�\}}
|d
|
}t|d�}zr|j|�|j�tji|d6}tj |d�}|j!�}|j�}|r�t"dd|�nWdtj#|�Xd}
|d}n0|dkr�|j�}tj$t%|��}nt|d�}|j|�|j�|j&�}|ddkrL|d7}nd|d||||
f}|S(NR[Rcsmessage/rfc822s.txts.binsattachments.lockt
attachmenti����iis-%04ds	text/htmls-tmptwR�trterrors.HTML sanitizer exited with non-zero status: %st/t<s
%s/%s%s%s>('RARBRCtarchive_dirR�RvRhRnR	RjRkRtRstsplitextRt*SCRUBBER_USE_ATTACHMENT_FILENAME_EXTENSIONR!tsretsubR'R
tlockt%SCRUBBER_DONT_USE_ATTACHMENT_FILENAMEtpreR<tdretexiststunlocktopentwritetcloseRgtpopentreadRtunlinkRuRytGetBaseArchiveURL(RDRER�RZtfsdirtdecodedpayloadRR�R�tfnextR RBtlockfileR�tfilebaseRJtcountertextratbasettmppathtfptcmdtprogfptstatusR�tbaseurlR�((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyRr�s�
			
	
	

	





(7t__doc__t
__future__RRAtreR"R�R{ttempfilet	cStringIORttypesRRtemail.UtilsRtemail.ParserRtemail.GeneratorRt
email.CharsetRtMailmanRR	R
RtMailman.ErrorsRtMailman.i18nR
tMailman.Logging.SyslogRt
Mailman.UtilsRtcompileR�R�R�RwtSPACERhRt	NameErrorRRtImportErrorR!R)RPRWR'R�R�Rr(((sg/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/Handlers/Scrubber.pyt<module>sV


			,	�	

Zerion Mini Shell 1.0