%PDF- %PDF-
Mini Shell

Mini Shell

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

�
��ac@s]dZddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZyddlZWne
k
r�eZnXddlmZddlmZddlmZddlmZdd	lmZmZyeefWnek
r-d
ZdZnXdfd
��YZejd�Zd�ZdS(s0Handle passwords and sanitize approved messages.i����N(t
StringTypet	TupleType(turlparse(tmm_cfg(tUtils(tErrors(tsyslog(tmd5_newtsha_newiitSecurityManagercBsbeZd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z	d�Z
RS(	cCsd|_d|_i|_dS(N(tNonetmod_passwordt
post_passwordt	passwords(tself((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pytInitVarsPs		cCsY|j�d}|tjkr�|dkr7td�ntjtj|��}|j	|�}tj
tj|�dd�}|d|7}n�|tjkr�|j
}|d7}n�|tjkr�|j}|d7}nx|tjkr�|j}|d7}nS|tjkrKtj�}tjr5|r5|}d	}qO|j}|d7}nd
S||fS(Nt+s%No user supplied for AuthUser contexttsafetsuser+%stpostert	moderatortadmintsite(NN(t
internal_nameRtAuthUserR
t	TypeErrorRtUnobscureEmailturllibtunquotetgetMemberPasswordtquotetObscureEmailtAuthListPosterRtAuthListModeratorRt
AuthListAdmintpasswordt
AuthSiteAdmintget_global_passwordtALLOW_SITE_ADMIN_COOKIES(Rtauthcontexttusertkeytsecrettuserdatatsitepass((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pytAuthContextInfoZs4	
	
	
		
cCs�|s
tjSx�|D]�}|tjkrNtj|dd�}|r�tjSq|tjkr|tj|�}|r�tjSq|tjkr�d�}|j|�\}}|dkr�qnt	|�j
�}	t}
}|	|kr�t}nAt
|�j�|krt}}
n|||�r-t}}
n|
r�t}|j�sX|j�t}nz |	|_|rw|j�nWd|r�|j�nXn|r�|Sq|tjkr�|j|�\}}|r�t	|�j
�|kr�|Sq|tjkr1|j|�\}}|r�t	|�j
�|kr�|Sq|tjkr�|dk	r�y|j||�re|SWq�tjk
r|q�Xq�qtdd|�td|�qWtjS(Nt	siteadminicSsMy4|d }tr/tj||�|kr/tStSWntk
rHtSXdS(Ni(tcrypttTruetFalseR(tresponseR*tsalt((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pytcryptmatchp�s

terrorsBad authcontext: %s(RtUnAuthorizedtAuthCreatorRtcheck_global_passwordR$R"R-R
Rt	hexdigestR1R0RtdigesttLockedtLockR#tSavetUnlockR!R RtauthenticateMemberRtNotAMemberErrorRt
ValueError(RtauthcontextsR2R(tactokR4R)R*tsharesponsetupgradetsave_and_unlock((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pytAuthenticate�sn


	
	


		
cCsax*|D]"}|j||�}|rtSqW|j|||�}|r]|j||�GHtStS(N(tCheckCookieR0RHt
MakeCookieR1(RRBR2R(RCRD((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pytWebAuthenticate�s
c
Cs�|j||�\}}|dks@|dks@t|t�rIt�nttj��}t||
�j�}t	j
�}tjt
j||f��||<t|j�}|d}	|	||d<|ddkr�t||d<nd||d<|S(Nitpathithttpstsecureitversion(R-R
t
isinstanceRRAtintttimeRR9tCookietSimpleCookietbinasciithexlifytmarshaltdumpsRtweb_page_urlR0(
RR'R(R)R*tissuedtmactctparsedRL((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyRJ�s(	"
cCso|j||�\}}tj�}d||<t|j�d}|||d<d||d<d||d<|S(NRiRLismax-ageiRO(R-RSRTRRY(RR'R(R)R*R\RL((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyt	ZapCookies
c
Cs tjjd�}|stSt|�}|tjkr	|rI|g}nVg}|j�d}x=|j�D]/}|j	|�rl|j
|t|��qlqlWxcg|D]}tj
tj|��^q�D]6}|j|||�}	|	r�|j||�GHtSq�WtS|j|||�SdS(NtHTTP_COOKIEs+user+(tostenvirontgetR1tparsecookieRRRtkeyst
startswithtappendtlenRRRRt_SecurityManager__checkoneRJR0(
RR'R(t
cookiedataR\t	usernamestprefixtktuRD((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyRIs(,c	Csy|j||�\}}Wntjk
r3tSX|j|�sTt|t�rXtSy,tjt	j
||��}|\}}Wnttt
tfk
r�tSXtj�}	|	|kr�tStjr�|tj|	kr�tSt||
�j�}
|
|krtStS(N(R-RR@R1thas_keyRPRRWtloadsRUt	unhexlifytEOFErrorRARtKeyErrorRRRtAUTHENTICATION_COOKIE_LIFETIMERR9R0(RR\R'R(R)R*tdataRZtreceived_mactnowR[((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyt
__checkoneJs* 
	N(t__name__t
__module__RR
R-RHRKRJR^RIRh(((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyR	Os	
/Y+s;\s*cCsui}xh|j�D]Z}xQtj|�D]@}y|jdd�\}}Wntk
r^q)X|||<q)WqW|S(Nt=i(t
splitlinestsplittertsplitRA(tsR\tlinetpRltv((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyRcts
(t__doc__R`treRRRSRWRURttypesRRRR/tImportErrorR
tMailmanRRRtMailman.Logging.SyslogRt
Mailman.UtilsRRR0R1t	NameErrorR	tcompileR|Rc(((se/builddir/build/BUILDROOT/mailman-2.1.15-30.el7_9.2.x86_64/usr/lib/mailman/Mailman/SecurityManager.pyt<module>s6



�$

Zerion Mini Shell 1.0