python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_poplib.cpython-312.opt-2.pyc

ΑeDJ	ddlZddlZddlZddlZddlZddlZddlmZmZddlm	Z
ddlmZddlm
Z
ddlmZddlmZddlmZe
j"d	
e
j$ZdZdZeedrddlZd	Zej.j1ej.j3exsej6d
Zej.j1ej.j3exsej6dZeedZdZdZ GddejBZ"GddejFejHZ%GddeZ&erddl'm(Z(Gdde(e"Z)eGdde&Z*eGdde&Z+Gdd eZ,d!Z-e.d"k(rej^yy)#N)TestCase
skipUnless)support)hashlib_helper)
socket_helper)threading_helper)asynchat)asyncoreT)moduleFPOP3_SSLzkeycert3.pemzpycacert.pemzSSL not supporteds1 1
2 2
3 3
4 4
5 5
.
stFrom: postmaster@python.org
Content-Type: text/plain
MIME-Version: 1.0
Subject: Dummy

line1
line2
line3
.
ceZdZgdgdZdZdZdZdZdZdZ	d	Z
d
ZdZdZ
d
ZeZdZeZdZdZdZdZdZdZdZdZer
dZdZdZyy)DummyPOP3Handlerzpython-testlib-pop-server)UIDLIMPLEMENTATIONFctjj|||jdg|_|jdd|_d|_y)N
(+OK dummy pop3 server ready. <timestamp>F)r	
async_chat__init__set_terminator	in_bufferpush
tls_activetls_startingselfconns  D/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_poplib.pyrzDummyPOP3Handler.__init__7sI$$T40G$		<=!c:|jj|yN)rappendrdatas  rcollect_incoming_dataz&DummyPOP3Handler.collect_incoming_data?sd#rc\dj|j}t|d}g|_|jddj	}|jd}|dk7r	||dzd}nd}t
|d|zrt|d|z}||y|jd	|zy)
Nr
ISO-8859-1 rcmd_z$-ERR unrecognized POP3 command "%s".)	joinrstrsplitlowerfindhasattrgetattrr)rlinecmdspaceargmethods      rfound_terminatorz!DummyPOP3Handler.found_terminatorBsxx'4&jjoa &&(		#B;uqyz"CC4#&T6C<0F3KII<cABrcr!rs rhandle_errorzDummyPOP3Handler.handle_errorR
rchtjj||jddzy)Nr'r)r	rrencoder#s  rrzDummyPOP3Handler.pushUs&  t{{<'@7'JKrc&|j|yr!rrr7s  rcmd_echozDummyPOP3Handler.cmd_echoXs
		#rcR|dk7r|jd|jdy)Nguidoz-ERR no such userz+OK password requiredrBrCs  rcmd_userzDummyPOP3Handler.cmd_user\s#'>II)*		)*rcR|dk7r|jd|jdy)Npythonz-ERR wrong passwordz+OK 10 messagesrBrCs  rcmd_passzDummyPOP3Handler.cmd_passas#(?II+,		#$rc&|jdy)Nz
+OK 10 100rBrCs  rcmd_statzDummyPOP3Handler.cmd_statfs		,rc|r|jd|d|y|jdtjj|ty)Nz+OK r(z+OK)rr	r	LIST_RESPrCs  rcmd_listzDummyPOP3Handler.cmd_listis8IIS#./IIe$$T95rc|jdttztjj|ty)Nz+OK %s bytes)rlen	RETR_RESPr	rrCs  rcmd_retrzDummyPOP3Handler.cmd_retrrs-		.#i.01  y1rc&|jdy)Nz +OK message marked for deletion.rBrCs  rcmd_delezDummyPOP3Handler.cmd_delexs		45rc&|jdyNz+OK done nothing.rBrCs  rcmd_noopzDummyPOP3Handler.cmd_noop{		%&rc&|jdyrWrBrCs  rcmd_rpopzDummyPOP3Handler.cmd_rpop~rYrc&|jdyrWrBrCs  rcmd_apopzDummyPOP3Handler.cmd_apoprYrcF|jd|jy)Nz+OK closing.)rclose_when_donerCs  rcmd_quitzDummyPOP3Handler.cmd_quits		.!rc^t|j}|jstrg|d<|SNSTLS)dictCAPASrSUPPORTS_SSL)r_capass  r
_get_capaszDummyPOP3Handler._get_capass'djj!<F6N
rc |jd|jr\|jjD];\}}|g}|r|j||jdj	|=|jdy)Nz+OK Capability list followsr(.)rrhitemsextendr-)rr7capparams_lns     rcmd_capazDummyPOP3Handler.cmd_capass		/0??#0668
)VeJJv&		#((3-(	
)
	
		#rcL|j|jrdydy)Nz+OK I know RFC6856z-ERR What is UTF8?!)renable_UTF8rCs  rcmd_utf8zDummyPOP3Handler.cmd_utf8s$		%%'	.,	.rc|jdur|jdtjtj}|jt|j|jddd}|j|j|d|_d|_g|_|jy|jdy)NFz+OK Begin TLS negotiationT)server_sidedo_handshake_on_connectsuppress_ragged_eofsz*-ERR Command not permitted when TLS active)rrssl
SSLContextPROTOCOL_TLS_SERVERload_cert_chainCERTFILEwrap_socketsocketdel_channel
set_socketrr_do_tls_handshake)rr7contexttls_socks    rcmd_stlszDummyPOP3Handler.cmd_stlss%'		56..)@)@A''1"..t{{;?GLDI/K  ")"&$(!!#&&(		FGrcZ	|jjd|_d|_y#tj
$r}|jdtjtjfvrYd}~y|jdtjk(r|jcYd}~Sd|jdvsd|jdvr|jcYd}~Sd}~wt$r?}|jdtjk(r|jcYd}~SYd}~yd}~wwxYw)NTFrSSLV3_ALERT_BAD_CERTIFICATEr*SSLV3_ALERT_CERTIFICATE_UNKNOWN)r~do_handshakerrrxSSLErrorargsSSL_ERROR_WANT_READSSL_ERROR_WANT_WRITE
SSL_ERROR_EOFhandle_closeOSErrorerrnoECONNABORTED)rerrs  rrz"DummyPOP3Handler._do_tls_handshakes
*((* #'$)!!<<

88A;3#:#:#&#;#;#==XXa[C$5$55,,..3sxx{B7388A;F,,..
/88A;%"4"44,,..5
/sD+D*/C2/C!D*'1CD*CD*+/D%D*%D*c|jr|jy	tjj	|y#t
j$r|jYywxYwr!)rrr	rhandle_readrxSSLEOFErrorrr<s rrzDummyPOP3Handler.handle_readsO  &&((''33D9(%%'(s?#A%$A%N)__name__
__module____qualname__rerrrr%r9r=rrDrGrJrLrOcmd_uidlrScmd_toprUrXr[r]r`rhrprsrfrrrr;rrrr2s,G+HIEK"$C L+
%
 6H2G6'''.
	H$	**	(Srrc\eZdZeZejfdZdZdZ	dZ
dZdZeZ
dZdZy	)
DummyPOP3Serverctjj|tjj|d|_|j
|tj|j||jdd|_tj|_
|jjdd\|_|_d|_y)NTF)	threadingThreadrr

dispatcherdaemon
create_socketr~SOCK_STREAMbindlistenactiveLockactive_lockgetsocknamehostporthandler_instance)raddressafs   rrzDummyPOP3Server.__init__s!!$'$$T*2v112		'A$>>+#{{668!<	49 $rctj|_tjj	||jjyr!)rEvent_DummyPOP3Server__flagrstartwaitr<s rrzDummyPOP3Server.starts4oo't$rcd|_|jj	|jrYtjrI|j
5tjddddd|jrtjrItjdy#1swY=xYw#tjdwxYw)NTg?r*)timeoutcount)
ignore_all)rrsetr

socket_maprloop	close_allr<s rrunzDummyPOP3Server.runs	0++("5"5%%8MM#Q78++("5"5
$/88
$/s#(B+B#$B+B($B++Cc2d|_|jyNF)rr-r<s rstopzDummyPOP3Server.stops		rc0|j||_yr!)handlerr)rraddrs   rhandle_acceptedzDummyPOP3Server.handle_accepteds $T 2rc$|jyr!)closer<s rhandle_connectzDummyPOP3Server.handle_connects

rcy)Nrr;r<s rwritablezDummyPOP3Server.writablesrcr!r;r<s rr=zDummyPOP3Server.handle_errorr>rN)rrrrrr~AF_INETrrrrrrrrr=r;rrrrs;G#)>>
%0
3 KrrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZej$dddZej$dddZdZdZdZdZdZdZedZedZedZy)
TestPOP3ClasscD|j|jdy)N+OK)
assertTrue
startswithrresps  rassertOKzTestPOP3Class.assertOKs/0rctttf|_|jj	tj|jj|jjtj|_yNr)rHOSTPORTserverrpoplibPOP3rrtest_supportLOOPBACK_TIMEOUTclientr<s rsetUpzTestPOP3Class.setUpsT%tTl3kk$++"2"2DKK4D4D*6*G*GIrcz|jj|jjd|_yr!)rrrrr<s rtearDownzTestPOP3Class.tearDowns)rcX|j|jjdy)Ns(+OK dummy pop3 server ready. <timestamp>)assertEqualr
getwelcomer<s rtest_getwelcomezTestPOP3Class.test_getwelcomes#//1D	Frcn|jtj|jjdy)Nz	echo -err)assertRaisesrerror_protor	_shortcmdr<s rtest_exceptionszTestPOP3Class.test_exceptionss$&,,dkk.C.C[Qrc|j|jjd|jtj
|jjdy)NrFinvalid)rruserrrrr<s r	test_userzTestPOP3Class.test_users?

dkk&&w/0&,,dkk.>.>	Jrc|j|jjd|jtj
|jjdy)NrIr)rrpass_rrrrr<s r
test_pass_zTestPOP3Class.test_pass_s?

dkk''12&,,dkk.>.>	JrcX|j|jjdy)N)
d)rrstatr<s r	test_statzTestPOP3Class.test_stat!s))+Y7rc|j|jjddgddf|j|jjdj	dy)Nr*)s1 1s2 2s3 3s4 4s5 51sOK 1 1)rrlistrendswithr<s r	test_listzTestPOP3Class.test_list$sY))+AB/B		
((-66yABrcldgddf}|jjd}|j||y)N
+OK 116 bytessFrom: postmaster@python.orgsContent-Type: text/plainsMIME-Version: 1.0sSubject: Dummyrsline1sline2sline3qfoo)rretrr)rexpectedrs   r	test_retrzTestPOP3Class.test_retr*s<$8	
kku%h'rc|jtj|jjdtj
dzdzzy)Nzecho +%sra)rrrrr_MAXLINEr<s rtest_too_long_linesz!TestPOP3Class.test_too_long_lines3s;&,,dkk.C.C$2)=(DE	GrcX|j|jjdyNr)rrdeler<s r	test_delezTestPOP3Class.test_dele7

dkk&&u-.rcV|j|jjyr!)rrnoopr<s r	test_noopzTestPOP3Class.test_noop:s

dkk&&()rcX|j|jjdyr)rrrpopr<s r	test_rpopzTestPOP3Class.test_rpop=rrmd5T)opensslcZ|j|jjddy)Nr
dummypassword)rrapopr<s rtest_apop_normalzTestPOP3Class.test_apop_normal@s

dkk&&uo>?rcdddzz}tj|jd|5|jtj
|jjdddddy#1swYyxYw)Nr<i@Bwelcomerkb)r	swap_attrrrrrr)revil_welcomes  rtest_apop_REDOSzTestPOP3Class.test_apop_REDOSDse0

#
#DKKL
I	Of00$++2B2BCN	O	O	Os7A**A3cjdgddf}|j|jjdd|y)Nrrrr*)rrtop)rrs  rtest_topzTestPOP3Class.test_topOs7%4	
	
A.9rcn|jj|jjdyr)ruidlr<s r	test_uidlzTestPOP3Class.test_uidlWs$rcd|jj_|jtj
|jjyr)rrrrrrrrutf8r<s rtest_utf8_raises_if_unsupportedz-TestPOP3Class.test_utf8_raises_if_unsupported[s4*/'&,,dkk.>.>?rcd|jj_d}|jj	}|j||y)NTs+OK I know RFC6856)rrrrrr*r)rrresults   r	test_utf8zTestPOP3Class.test_utf8_s;*.'(!!#*rcz|jj}|jd|jvy)Nrrcaparkeysrr1s  r	test_capazTestPOP3Class.test_capaes,{{!(DIIK78rc|jj}|j||j|jj|j|jj
yr!)rquitrassertIsNonesockfilers  r	test_quitzTestPOP3Class.test_quitisP{{!$++**+$++**+rcz|jj}|jd|jvyrbr0r3s  rtest_stls_capazTestPOP3Class.test_stls_capaos+{{!$))+-.rc`d}|jj}|j||y)N+OK Begin TLS negotiation)rstlsr)rrrs   r	test_stlszTestPOP3Class.test_stlsts)/{{!x(rc~d}tjtj}|jt|j|jtj|j|jd|jtj5|jj|}dddtjd|jj t"j$|_|jj|}|j||y#1swYwxYw)Nr>Tr	localhostr)rxryPROTOCOL_TLS_CLIENTload_verify_locationsCAFILErverify_mode
CERT_REQUIREDcheck_hostnamerCertificateErrorrr?rrrrrr)rrctxrs    rtest_stls_contextzTestPOP3Class.test_stls_contextzs/nnS445!!&)#*;*;<++T2


s33
4	1;;##C#0D	1kk+t{{/?/?*6*G*GI{{,x(	1	1s D33D<N)rrrrrrrrrrrrrr
rrrrrequires_hashdigestrr"r%r(r+r.r4r:requires_sslr<r@rLr;rrrrs1IFRKK8C(G/*/(^''t<@=@(^''t<O=O: @+9,//))
))rr)
SSLConnectionceZdZdZy)DummyPOP3_SSLHandlerctjj|||j|j	dg|_|j
dd|_d|_y)NrrTF)	r	rrsecure_connectionrrrrrrs  rrzDummyPOP3_SSLHandler.__init__sU((t4""$(DNII@A"DO %DrN)rrrrr;rrrQrQs	&rrQc.eZdZdZdZdZdZeZdZy)TestPOP3_SSLClassctttf|_t|j_|jj
tj|jj|jj|_yr!)rrrrrQrrrrrrrr<s rrzTestPOP3_SSLClass.setUpsT%tTl32oodkk&6&68H8HIrcD|jdtjy)Nr)assertInr__all__r<s rtest__all__zTestPOP3_SSLClass.test__all__s

j&..1rcxtjtj}d|_tj|_|jjtj|jj|jj||_|j|jjtj|j!|jjj"||j%|jj'j)dy)NFrBr)rxryrDrI	CERT_NONErGrr6rrrrrassertIsInstancer8	SSLSocketassertIsrrrr)rrKs  rtest_contextzTestPOP3_SSLClass.test_contextsnnS445"--oodkk&6&68H8H035dkk..

>

dkk&&..4((*55f=>rcl|jtj|jjyr!rrrrr?r<s rr@zTestPOP3_SSLClass.test_stls"&,,dkk.>.>?rcz|jj}|jd|jvyrbrr1assertFalser2r3s  rr<z TestPOP3_SSLClass.test_stls_capas-{{!499;./rN)	rrrrrZr`r@rLr<r;rrrUrUs%J2
?@"0rrUc(eZdZdZdZdZeZdZy)TestPOP3_TLSClasscFtttf|_|jj	tj|jj|jjtj|_|jjyr)
rrrrrrrrrrrrr?r<s rrzTestPOP3_TLSClass.setUpsd%tTl3kk$++"2"2DKK4D4D*6*G*GIrc:|jj1|jj	|jj|jjd|_y#tj
$r|jj
YQwxYwr!)	rr9r8r6rrrrrr<s rrzTestPOP3_TLSClass.tearDownsx;;'DKK,<,<,H
$  "	
%%
$!!#	
$sA**-BBcl|jtj|jjyr!rbr<s rr@zTestPOP3_TLSClass.test_stlsrcrcz|jj}|jd|jvy)NsSTLSrer3s  rr<z TestPOP3_TLSClass.test_stls_capas-{{!DIIK/0rN)rrrrrr@rLr<r;rrrhrhs@"1rrhc0eZdZdZdZdZdZdZdZy)TestTimeoutsc$tj|_tjtjtj
|_|jjdtj|j|_
tj|j|j|jf|_
d|j_|jj|jj!y)N<)targetrT)rrevtr~rrr8
settimeoutr	bind_portrrrthreadrrrr<s rrzTestTimeouts.setUps??$MM&..&2D2DE			R !++DII6	&&dkk499@UV!

rcF|jjd|_yr!)rur-r<s rrzTestTimeouts.tearDownsrc|j|j	|j\}}|jd|j	|j	y#t
$rYwxYw#|j	wxYw)Ns
+ Hola mundo
)rracceptsendrTimeoutError)rrrservrrs     rrzTestTimeouts.serversi
		JD$II'(JJL
JJL		
JJLs#4A''	A30A62A33A66Bc|jtjtjtj
	t
jt|j}tjd|j|jjtj
|jy#tjdwxYwr!)r7r~getdefaulttimeoutsetdefaulttimeoutrrrrrrrr8
gettimeoutrrpops  rtestTimeoutDefaultzTestTimeouts.testTimeoutDefaults&2245  !>!>?	+++dDII.C$$T*,,.0M0MN		
$$T*s$C

C!c|jtjtjd	t	j
t|jd}tjd|j|jj|jy#tjdwxYw)Nr)r7r~r}r~rrrrr8rrrs  rtestTimeoutNonezTestTimeouts.testTimeoutNones&2245  $	+++dDIIt<C$$T*#((--/0		
$$T*s&B//Cctjt|jtj
}|j
|jjtj
|j|jt5tjt|jddddy#1swYyxYw)Nrr)rrrrrrrr8rrr
ValueErrorrs  rtestTimeoutValuezTestTimeouts.testTimeoutValueskk$		<3P3PQ,,.0M0MN		


z
*	4KKdii3	4	4	4s'CCN)	rrrrrrrrrr;rrrnrns 

4rrncttj}tjtjg|yr!)rthreading_setupunittestaddModuleCleanupthreading_cleanup)thread_infos rsetUpModulers*"224K.@@O;Or__main__)0rr~osrrrrrtestrrtest.supportrrrr	r
requires_working_socketrrrfr2rxpathr-dirname__file__curdirr|rFrNrNrRrrrrrrtest.test_ftplibrOrQrUrhrnrrmainr;rr<module>rs$

	)('&)!!%$$D1
6:Lww||BGGOOH5BNSH
WW\\"''//(3@ryy.
QF,(;<
8	
		[(x**[(z0h))9+;+;0fD)HD)N.	&}.>	&0
00D1
11B64864rP
zHMMOr