Viewing File: /usr/lib64/python2.7/site-packages/dns/entropy.pyo

ó
!`Nc@s}ddlZddlZyddlZWnek
rGddlZnXdefd„ƒYZeƒZd„Z	d„Z
dS(iÿÿÿÿNtEntropyPoolcBsMeZdd„Zed„Zd„Zd„Zd„Zd„Z	d„Z
RS(cCsôd|_d|_d|_tjƒ|_y(ddl}|jƒ|_	d|_
Wn]y(ddl}|jƒ|_	d|_
Wq²ddl
}|jƒ|_	d|_
q²XnXd|j
|_|dk	rç|j|ƒt|_n	t|_dS(Niiÿÿÿÿiit(t
pool_indextNonetdigestt	next_bytet
_threadingtLocktlockthashlibtsha1thashthash_lentshatnewtmd5tpooltstirtTruetseededtFalse(tselftseedR	R
R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt__init__s,			


cCsæ|s|jjƒnz²g|jD]}t|ƒ^q#}x^|D]V}|j|jkrfd|_nt|ƒd@}||jc|N<|jd7_qBWdjg|D]}t|ƒ^q©ƒ|_Wd|sá|jjƒnXdS(Niiÿit(	RtacquireRtordRRtjointchrtrelease(Rtentropytalready_lockedtctbytestb((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyR1s"
/cCs™|js•ytjdƒ}WnZy7tdddƒ}z|jdƒ}Wd|jƒXWqyttjƒƒ}qyXnXt|_|j	|tƒndS(Nis/dev/urandomtri(
RtosturandomtfiletreadtclosetstrttimeRR(RRR#((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt_maybe_seedAs		cCsº|jjƒ|jƒzŽ|jdks;|j|jkr|jj|j	ƒ|jjƒ|_|j
|jtƒd|_nt|j|jƒ}|jd7_Wd|jj
ƒX|S(Nii(RRR+RRRRRtupdateRRRRR(Rtvalue((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytrandom_8Qs

!cCs|jƒd|jƒS(Ni(R.(R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt	random_16`scCs|jƒd|jƒS(Ni(R/(R((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt	random_32cscCs‹||d}|dkr)tdƒ‚n|dkrG|j}d}n-|dkre|j}d}n|j}d}|||ƒ|dS(	Nilstoo bigilÿÿiiÿÿiÿ(t
ValueErrorR0R/R.(Rtfirsttlasttsizetrandtmax((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytrandom_betweenfs					N(t__name__t
__module__RRRRR+R.R/R0R7(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyRs				cCs
tjƒS(N(RR/(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyR/wscCstj||ƒS(N(RR7(R2R3((s1/usr/lib64/python2.7/site-packages/dns/entropy.pytbetweenzs(R$R*t	threadingRtImportErrortdummy_threadingtobjectRRR/R:(((s1/usr/lib64/python2.7/site-packages/dns/entropy.pyt<module>s
^		
Back to Directory File Manager