python (3.12.0)

(root)/
lib/
python3.12/
asyncio/
__pycache__/
sslproto.cpython-312.opt-2.pyc

ˑe{zddlZddlZddlZ	ddlZddlmZddlmZddlmZddlm	Z	ddl
mZeejejfZGdd	ejZGd
dejZdZd
ZGdde	j(e	j*ZGddej.Zy#e$rdZYwxYw)N)	constants)
exceptions)	protocols)
transports)loggerc eZdZdZdZdZdZdZy)SSLProtocolState	UNWRAPPEDDO_HANDSHAKEWRAPPEDFLUSHINGSHUTDOWNN)__name__
__module____qualname__rrr
rrD/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/sslproto.pyr
r
sI!LGHHrr
ceZdZdZdZdZdZy)AppProtocolState
STATE_INITSTATE_CON_MADE	STATE_EOFSTATE_CON_LOSTN)rrrrrrrrrrrrsJ%NI%NrrcZ|rtdtj}|sd|_|S)Nz(Server side SSL needs a valid SSLContextF)
ValueErrorsslcreate_default_contextcheck_hostname)server_sideserver_hostname
sslcontexts   r_create_transport_contextr$+s2CDD++-J$)
!rc|||dz}n
|}d|z}n|}||dz}n|}||cxk\rdk\sntd|d|d||fS)Nirzhigh (z) must be >= low (z) must be >= 0)r)highlowkbhilos     radd_flowcontrol_defaultsr,9sh|;dBBRB

{
1W

=q=b"#	#r6MrceZdZdZej
jZdZddZ	dZ
dZdZdZ
efd	Zd
ZdZdZdd
ZdZdZddZdZdZedZdZdZdZdZdZdZ dZ!y)_SSLProtocolTransportTc.||_||_d|_yNF)_loop
_ssl_protocol_closed)selfloopssl_protocols   r__init__z_SSLProtocolTransport.__init__Ts
)rNc<	|jj||SN)r2_get_extra_infor4namedefaults   rget_extra_infoz$_SSLProtocolTransport.get_extra_infoYs1!!11$@@rc:|jj|yr9)r2_set_app_protocol)r4protocols  rset_protocolz"_SSLProtocolTransport.set_protocol]s,,X6rc.|jjSr9)r2
_app_protocolr4s rget_protocolz"_SSLProtocolTransport.get_protocol`s!!///rc|jSr9)r3rEs r
is_closingz _SSLProtocolTransport.is_closingcs||rcp	|js"d|_|jjyd|_yNT)r3r2_start_shutdownrEs rclosez_SSLProtocolTransport.closefs1	||DL..0!%DrcX|jsd|_|jdtyy)NTz9unclosed transport <asyncio._SSLProtocolTransport object>)r3warnResourceWarning)r4	_warningss  r__del__z_SSLProtocolTransport.__del__ts)||DLNN*
,rc0|jjSr9)r2_app_reading_pausedrEs r
is_readingz _SSLProtocolTransport.is_reading{s%%9999rc:	|jjyr9)r2_pause_readingrEs r
pause_readingz#_SSLProtocolTransport.pause_reading~s	
	
))+rc:	|jjyr9)r2_resume_readingrEs rresume_readingz$_SSLProtocolTransport.resume_readings	
	
**,rcr	|jj|||jjyr9)r2_set_write_buffer_limits_control_app_writingr4r'r(s   rset_write_buffer_limitsz-_SSLProtocolTransport.set_write_buffer_limitss1	$	
33D#>//1rcZ|jj|jjfSr9)r2_outgoing_low_water_outgoing_high_waterrEs rget_write_buffer_limitsz-_SSLProtocolTransport.get_write_buffer_limits*""66""779	9rc8	|jjSr9)r2_get_write_buffer_sizerEs rget_write_buffer_sizez+_SSLProtocolTransport.get_write_buffer_sizes;!!88::rcr	|jj|||jjyr9)r2_set_read_buffer_limits_control_ssl_readingr^s   rset_read_buffer_limitsz,_SSLProtocolTransport.set_read_buffer_limitss1	$	
224=//1rcZ|jj|jjfSr9)r2_incoming_low_water_incoming_high_waterrEs rget_read_buffer_limitsz,_SSLProtocolTransport.get_read_buffer_limitsrdrc8	|jjSr9)r2_get_read_buffer_sizerEs rget_read_buffer_sizez*_SSLProtocolTransport.get_read_buffer_sizes9!!7799rc.|jjSr9)r2_app_writing_pausedrEs r_protocol_pausedz&_SSLProtocolTransport._protocol_pauseds!!555rc	t|tttfs!t	dt|j|sy|jj|fy)Nz+data: expecting a bytes-like instance, got )	
isinstancebytes	bytearray
memoryview	TypeErrortyperr2_write_appdatar4datas  rwritez_SSLProtocolTransport.writes]	
$	: >?##':#6#6"79:
:))4'2rc<	|jj|yr9)r2r})r4list_of_datas  r
writelinesz _SSLProtocolTransport.writeliness	
	
)),7rc	tr9)NotImplementedErrorrEs r	write_eofz_SSLProtocolTransport.write_eofs	"!rc	yr0rrEs r
can_write_eofz#_SSLProtocolTransport.can_write_eofsOrcb	d|_|j|jjyyrJr3r2_abortrEs rabortz_SSLProtocolTransport.aborts3	)%%'*rcHd|_|jj|yrJrr4excs  r_force_closez"_SSLProtocolTransport._force_closes!!#&rc|jjj||jxjt	|z
c_yr9)r2_write_backlogappend_write_buffer_sizelenr~s  r_test__append_write_backlogz1_SSLProtocolTransport._test__append_write_backlogs7))006--T:-rr9NN)"rrr_start_tls_compatibler
_SendfileModeFALLBACK_sendfile_compatibler7r>rBrFrHrLwarningsrQrTrWrZr_rcrgrkrorrpropertyrurrrrrrrrrrr.r.Ns!$22;;
A70&!),:,-2,9;2,9:6638"	(';rr.ceZdZdZdZdZdZ				d*dZdZd+dZ	dZ
dZdZd	Z
d
ZdZd+dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d,d!Z%d"Z&d#Z'd$Z(d,d%Z)d&Z*d'Z+d(Z,d-d)Z-y).SSLProtocoliNc
ttdt|j|_t|j|_|tj}n|dkrtd||	tj}	n|	dkrtd|	|st||}||_|r
|s||_
nd|_
||_t||_t#j$|_d|_||_||_|j/|d|_d|_d|_||_|	|_tj:|_tj:|_t@jB|_"d|_#|rtHjJ|_&ntHjN|_&|jjQ|j<|j>|j|j|_)d|_*d|_+d|_,d|_-d|_.|j_d|_0d|_1d|_2d|_3|ji|jky)Nzstdlib ssl module not availablerz7ssl_handshake_timeout should be a positive number, got z6ssl_shutdown_timeout should be a positive number, got )r#F)r!r")6rRuntimeErrorrymax_size_ssl_bufferrz_ssl_buffer_viewrSSL_HANDSHAKE_TIMEOUTrSSL_SHUTDOWN_TIMEOUTr$_server_side_server_hostname_sslcontextdict_extracollectionsdequerr_waiterr1r@_app_transport_app_transport_created
_transport_ssl_handshake_timeout_ssl_shutdown_timeout	MemoryBIO	_incoming	_outgoingr
r_state
_conn_lostrr
_app_staterwrap_bio_sslobj_ssl_writing_pausedrS_ssl_reading_pausedrnrmri
_eof_receivedrtrbrar\_get_app_transport)
r4r5app_protocolr#waiterr!r"call_connection_madessl_handshake_timeoutssl_shutdown_timeouts
          rr7zSSLProtocol.__init__sE
;@AA$T]]3 *4+;+; < ($-$C$C!
"a
',-/0
0 '#,#A#A 
!Q
&+,./
/2_.J(;$3D!$(D!%j1*//1"#
|,"&+#&;#%9"&00.99DO.==DO''00NNDNN)) 1113$) #( #( $%!#$ $$&"#( $%!#$ %%'!rc||_t|drDt|tjr*|j
|_|j|_d|_	yd|_	y)N
get_bufferTF)
rDhasattrrwrBufferedProtocolr_app_protocol_get_bufferbuffer_updated_app_protocol_buffer_updated_app_protocol_is_buffer)r4rs  rr@zSSLProtocol._set_app_protocol^sP)L,/<)C)CD,8,C,CD)0<0K0KD-+/D(+0D(rc|jy|jjs@|#|jj|d|_y|jjdd|_yr9)r	cancelled
set_exception
set_resultrs  r_wakeup_waiterzSSLProtocol._wakeup_waiterisZ<<||%%'**3/''-rc|j9|jrtdt|j||_d|_|jS)Nz$Creating _SSLProtocolTransport twiceT)rrrr.r1rEs rrzSSLProtocol._get_app_transportssJ&**"#IJJ"7

D"ID*.D'"""rc4	||_|jyr9)r_start_handshake)r4	transports  rconnection_madezSSLProtocol.connection_made{s	$rcJ	|jj|jj|xjdz
c_|j
d|j
_|jtjk7r|jtjk(s|jtjk(rEtj|_
|jj!|j"j$||j'tj(d|_d|_d|_|j-||j.r!|j.j1d|_|j2r"|j2j1d|_yy)NrT)rclearrreadrrr3rr
rrrrrrr1	call_soonrDconnection_lost
_set_staterrr_shutdown_timeout_handlecancel_handshake_timeout_handlers  rrzSSLProtocol.connection_losts>		
!!#1**.D';;*777#3#B#BB#3#=#=="2"A"A

$$T%7%7%G%GM(223"!C (())002,0D)))**113-1D**rc|}|dks||jkDr|j}t|j|kr*t||_t	|j|_|j
SNr)rrrryrzr)r4nwants   rrzSSLProtocol.get_buffers`19t}},==Dt 4'(D$.t/?/?$@D!$$$rc|jj|jd||jtj
k(r|j
y|jtjk(r|jy|jtjk(r|jy|jtjk(r|jyyr9)
rrrrr
r
_do_handshaker
_do_readr	_do_flushr_do_shutdown)r4nbytess  rrzSSLProtocol.buffer_updatedsT227F;<;;*777 
[[,44
4MMO
[[,55
5NN
[[,55
56rc	d|_	|jjrtjd||j
tjk(r|jty|j
tjk(r=|jtj|jry|jy|j
tjk(r@|j|jtj |j#y|j
tj k(r|j#yy#t$$r|j&j)wxYw)NTz%r received EOF)rr1	get_debugrdebugrr
r_on_handshake_completeConnectionResetErrorr
rrrSr	_do_writerr	ExceptionrrLrEs reof_receivedzSSLProtocol.eof_receiveds	"	zz##%.5{{.;;;++,@A 0 8 88 0 9 9:++NN$ 0 9 99  0 9 9:!!# 0 9 99!!#:	OO!!#	s&A"E-AE6EAE$-E%E8c||jvr|j|S|j|jj||S|Sr9)rrr>r;s   rr:zSSLProtocol._get_extra_infosC4;;;;t$$
__
(??11$@@Nrc&d}|tjk(rd}n|jtjk(r|tjk(rd}n|jtjk(r|tjk(rd}ne|jtjk(r|tj
k(rd}n2|jtj
k(r|tjk(rd}|r||_ytdj|j|)NFTz!cannot switch state from {} to {})	r
rrrr
rrrformat)r4	new_statealloweds   rrzSSLProtocol._set_states(222G
KK+555)666G
KK+888)111G
KK+333)222G
KK+444)222G#DK3::KK,-
-rcnjjr6tjdjj	_nd_j
tjjjjfd_jy)Nz%r starts SSL handshakec$jSr9)_check_handshake_timeoutrEsr<lambda>z.SSLProtocol._start_handshake.<locals>.<lambda>s$*G*G*Ir)
r1rrrtime_handshake_start_timerr
r
call_laterrrrrEs`rrzSSLProtocol._start_handshakes::!LL2D9)-):D&)-D&(556
JJ!!$"="="I
K	
&	
rc|jtjk(r+d|jd}|j	t|yy)Nz$SSL handshake is taking longer than z! seconds: aborting the connection)rr
rr_fatal_errorConnectionAbortedError)r4msgs  rrz$SSLProtocol._check_handshake_timeout"sN;;*7776../0*+


4S9:
8rc	|jj|jdy#t$r|j	Yyt
j$r}|j|Yd}~yd}~wwxYwr9)rdo_handshakerSSLAgainErrors_process_outgoingrSSLErrorrs  rrzSSLProtocol._do_handshake+sb	.LL%%'
''-	%""$||	-'',,	-s.A6	A6A11A6c|j!|jjd|_|j}	| |jtj
n||j
}|jjrA|jj!|j"z
}t%j&d||dz|j(j+||j-|j/||j0t2j4k(r>t2j6|_|j8j;|j=|j|j?y#t$rk}|jtjt|tjrd}nd}|j|||j|Yd}~yd}~wwxYw)Nz1SSL handshake failed on verifying the certificatezSSL handshake failedz%r: SSL handshake took %.1f msg@@)peercertciphercompression
ssl_object) rrrrr
r
getpeercertrrrwrCertificateErrorrrr1rrrrrrupdater	r
rrrrrDrrr)r4
handshake_excsslobjrrrdts       rrz"SSLProtocol._on_handshake_complete5s))5**113-1D*	$ 0 8 89##))+H::!"T%?%??BLL94cJ	
H"(--/'-'9'9';&,		.??.999.==DO..t/F/F/HI

/	OO,667#s334I,c3'$	s4F	G5
A!G00G5cjtjtjtjfvryj
dj
_jtjk(rjyjtjjjjfd_
jy)NTc$jSr9)_check_shutdown_timeoutrEsrrz-SSLProtocol._start_shutdown.<locals>.<lambda>ns446r)rr
rrrrr3rrrr1rrrrrEs`rrKzSSLProtocol._start_shutdown]sKK )) )) **

**.D';;*777KKMOO,556,0JJ,A,A**6-D)
NNrc|jtjtjfvr/|jjt
jdyy)NzSSL shutdown timed out)rr
rrrrrTimeoutErrorrEs rrz#SSLProtocol._check_shutdown_timeoutrsNKK )) ))


OO((''(@A
C
rc|j|jtj|j	yr9)rrr
rrrEs rrzSSLProtocol._do_flush|s*

(112rcJ	|js|jj|j|j	|jdy#t$r|jYytj$r}|j|Yd}~yd}~wwxYwr9)	rrunwrapr_call_eof_received_on_shutdown_completerrrrs  rrzSSLProtocol._do_shutdowns
	-%%##%
""$##%&&t,	%""$||	,&&s++	,s&AB"5B"BB"c|j!|jjd|_|r|j|y|jj	|j
jyr9)rrrr1rrrL)r4shutdown_excs  rrz!SSLProtocol._on_shutdown_completesU((4))002,0D)l+JJ  !6!67rc|jtj|j|jj	yyr9)rr
rrrrEs rrzSSLProtocol._aborts4(223??&OO!!#'rc8|jtjtjtjfvrH|j
tjk\rtjd|xj
dz
c_y|D];}|jj||xjt|z
c_=	|jtjk(r|jyy#t $r}|j#|dYd}~yd}~wwxYw)NzSSL connection is closedrFatal error on SSL protocol)rr
rrrrr!LOG_THRESHOLD_FOR_CONNLOST_WRITESrwarningrrrrr
rrr)r4rrexs    rr}zSSLProtocol._write_appdatasKK )) )) **
)"M"MM9:OOq O 	1D&&t,##s4y0#	1	A{{.666 7	Ab"?@@	As-C44	D=DDc~	|jr|jd}|jj|}t|}||kr(||d|jd<|xj|zc_n"|jd=|xj|zc_|jr|j
y#t
$rYwxYwr)rrrrrrr)r4rcountdata_lens    rrzSSLProtocol._do_writes	%%**1-**40t98#-1%&\D''*++u4+++A.++x7+%%	
 		sBB00	B<;B<c|js@|jj}t|r|jj||j
yr9)rrrrrrr]r~s  rrzSSLProtocol._process_outgoingsB''>>&&(D4y%%d+!!#rc|jtjtjfvry	|jsZ|j
r|j
n|j|jr|jn|j|jy#t$r}|j|dYd}~yd}~wwxYw)Nr )rr
r
rrSr_do_read__buffered_do_read__copiedrrrrjrr)r4r#s  rrzSSLProtocol._do_readsKK (( )) 


	A++//++-))+&&NN$**,%%'	Ab"?@@	AsA6B&&	C/CCcd}d}jj}t|}	jj	||}|dkDrY|}||kr4jj	||z
||d}|dkDr||z
}nn$||kr4j
j
fd|dkDrj||s!jjyy#t$rYEwxYw)Nrrc$jSr9)rrEsrrz0SSLProtocol._do_read__buffered.<locals>.<lambda>s
r)rrqrrrr1rrrrrK)r4offsetr%bufwantss`    rr)zSSLProtocol._do_read__buffereds++D,F,F,HIC	LL%%eS1Eqyun LL--efnc&'lKEqy%unJJ(()@AA:--f5##%  "			sAC%
C%%	C10C1cd}d}d}		|jj|j}|sn$|rd}d}|}n|rd}|g}nj|L	|r|j
j
n,|s*|j
j
dj|s!|j|jyy#t$rYywxYw)N1TFr)
rrrrrrD
data_receivedjoinrrK)r4chunkzeroonefirstrs      rr*zSSLProtocol._do_read__copieds	))$--8 DC!EC!5>DKK&,,U3,,SXXd^<##%  "
		sA
C	CCc>	|jtjk(rHtj|_|jj}|rt
jdyyy#ttf$rt$r}|j|dYd}~yd}~wwxYw)Nz?returning true from eof_received() has no effect when using sslzError calling eof_received())rrrrrDrrr"KeyboardInterrupt
SystemExit
BaseExceptionr)r4	keep_openr#s   rrzSSLProtocol._call_eof_received!s
	B"2"A"AA"2"<"< ..;;=	NN$BCB":.		Bb"@AA	BsA#A((BBBcZ|j}||jk\r/|js#d|_	|jj	y||jkr0|jr#d|_	|jjyyy#t
tf$rt$r4}|jjd||j|dYd}~yd}~wwxYw#t
tf$rt$r4}|jjd||j|dYd}~yd}~wwxYw)NTzprotocol.pause_writing() failedmessage	exceptionrrAFz protocol.resume_writing() failed)
rfrbrtrD
pause_writingr9r:r;r1call_exception_handlerrraresume_writing)r4sizers   rr]z SSLProtocol._control_app_writing0s$**,4,,,T5M5M'+D$

""002T--
-$2J2J',D$

""1133K
-&z2
 


11@!$!%!4!4 $	3
&z2
 


11A!$!%!4!4 $	3
s/B2CC'*CCD*6*D%%D*cH|jj|jzSr9)rpendingrrEs rrfz"SSLProtocol._get_write_buffer_sizeMs~~%%(?(???rc\t||tj\}}||_||_yr9)r,r!FLOW_CONTROL_HIGH_WATER_SSL_WRITErbrar^s   rr\z$SSLProtocol._set_write_buffer_limitsPs.,#yBBD	c$(!#& rcd|_yrJ)rSrEs rrVzSSLProtocol._pause_readingXs
#' rcnjr(d_fd}jj|yy)NFcjtjk(rjyjtjk(rjyjtjk(rjyyr9)rr
r
rrrrrrEsrresumez+SSLProtocol._resume_reading.<locals>.resume_s`;;"2":"::MMO[[$4$=$==NN$[[$4$=$==%%'>r)rSr1r)r4rLs` rrYzSSLProtocol._resume_reading[s2##',D$
(
JJ  ($rc|j}||jk\r.|js"d|_|jj	y||j
kr/|jr"d|_|jj
yyy)NTF)rqrnrrrWrmrZ)r4rDs  rrjz SSLProtocol._control_ssl_readingjsu))+4,,,T5M5M'+D$OO))+
T--
-$2J2J',D$OO**,3K
-rc\t||tj\}}||_||_yr9)r,r FLOW_CONTROL_HIGH_WATER_SSL_READrnrmr^s   rriz#SSLProtocol._set_read_buffer_limitsss.,#yAAC	c$(!#& rc.|jjSr9)rrFrEs rrqz!SSLProtocol._get_read_buffer_sizeys~~%%%rc	d|_yrJ)rrEs rrAzSSLProtocol.pause_writing~s	$( rc4	d|_|jyr0)rrrEs rrCzSSLProtocol.resume_writings	$)  rcf|jr|jj|t|tr5|jjrt
jd||dyyt|tjs+|jj|||j|dyy)Nz%r: %sT)exc_infor>)rrrwOSErrorr1rrrrCancelledErrorrB)r4rr?s   rrzSSLProtocol._fatal_errors??OO((-c7#zz##%XtWtD&C!:!:;JJ--" !__ 	/
<r)FNTNNr9r)zFatal error on transport).rrrrrrrr7r@rrrrrrrr:rrrrrrKrrrrrr}rrrr)r*rr]rfr\rVrYrjrirqrArCrrrrrrsH  $#59&*'+&*	Q"f	1# "2H%
 !F$-P ;.$P*C
-8$A0! $A,#:#<B:@'()-'&
(!
rr)renumrrImportErrorrrrrlogrSSLWantReadErrorSSLSyscallErrorrEnumr
rr$r,_FlowControlMixin	Transportr.rrrrr<module>r`s?**C,?,?@Ntyy
&tyy
& *s;J88&00s;lV
),,V
}
CsB00B:9B: