Viewing File: /usr/local/cpanel/3rdparty/mailman/Mailman/CSRFcheck.pyc

ó
)¿Úhc@sÀdZddlZddlZddlZddlZddlmZddlmZddl	m
Z
mZiejd6ej
d6ejd6ejd	6ejd
6Zdd„Zdd„ZdS(
s$ Cross-Site Request Forgery checker iÿÿÿÿN(tmm_cfg(tsyslog(tUnobscureEmailtsha_newtusertpostert	moderatortadmintsitec
Cs¶|rttj|ƒƒ}nx:|D].}|j||ƒ\}}|r%|r%Pq%q%WdSttjƒƒ}t||
ƒjƒ}d||f}t	j
tj||fƒƒ}	|	S(s5 create token by mailman cookie generation algorithm s%s:%sN(
RturllibtunquotetAuthContextInfotNonetintttimeRt	hexdigesttbinasciithexlifytmarshaltdumps(
tmlisttcontextsRtcontexttkeytsecrettissuedtmactkeymacttoken((s7/usr/local/cpanel/3rdparty/mailman/Mailman/CSRFcheck.pyt
csrf_token's
cCs yştjtj|ƒƒ\}}|jddƒ\}}|j|jƒdƒsVtS|t|jƒƒd}d|kr—|jddƒ\}}nd
}|dkrà|dkr#t
dd|rÒ|d|n|ƒtSnC|dkr#|dkr#t
dd
|r|d|n|ƒtSn|rvttj
|ƒƒ}|rv|jƒ|jƒkrvt
dd||ƒtSntj|ƒ}	|j|	|ƒ\}}
|s©t‚t|
|
ƒjƒ}||krùdtjƒ|koğtjknrùtStSWntttfk
rtSXd
S(s4 check token by mailman cookie validation algorithm t:it+RRtmischiefs3admin form submitted with CSRF token issued for %s.tadmindbRs5admindb form submitted with CSRF token issued for %s.s9Form for user %s submitted with CSRF token issued for %s.iN(sadminssite(s	moderatorsadminssite(RtloadsRt	unhexlifytsplitt
startswitht
internal_nametFalsetlenRRRR	R
tlowertkeydicttgetRtAssertionErrorRRRRt
FORM_LIFETIMEtTruet
ValueErrort	TypeError(RRtcgi_userRRRtreceived_macRtraw_userRRR((s7/usr/local/cpanel/3rdparty/mailman/Mailman/CSRFcheck.pyt
csrf_check:sL
)(t__doc__RR	RRtMailmanRtMailman.Logging.SyslogRt
Mailman.UtilsRRtAuthUsertAuthListPostertAuthListModeratort
AuthListAdmint
AuthSiteAdminR*RRR4(((s7/usr/local/cpanel/3rdparty/mailman/Mailman/CSRFcheck.pyt<module>s





Back to Directory File Manager