Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.142.171.201
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_poplib.cpython-310.pyc
o

ab$F�@s�dZddlZddlZddlZddlZddlZddlZddlmZmZddl	m
Zddlm
Z
ddlmZddlmZddlZe���e�de�ddlZddlZWd�n1s[wYejZdZd	Zeed
�r�ddlZdZej�ej�e�p}ejd�Z ej�ej�e�p�ejd
�Z!eed�Z"dZ#dZ$Gdd�dej%�Z&Gdd�dej'ej(�Z)Gdd�de�Z*er�ddl+m,Z,Gdd�de,e&�Z-e"Gdd�de*��Z.e"Gdd�de*��Z/Gdd�de�Z0d d!�Z1e2d"kr�e�3�dSdS)#zTest script for poplib module.�N)�TestCase�
skipUnless)�support)�hashlib_helper)�
socket_helper)�threading_helper�ignoreF�POP3_SSLTz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
.
c@s�eZdZgdgd�ZdZdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZeZdd�ZeZdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zerld*d+�Zd,d-�Zd.d/�Zd0Sd0S)1�DummyPOP3Handlerzpython-testlib-pop-server)ZUIDL�IMPLEMENTATIONFcCs8tj�||�|�d�g|_|�d�d|_d|_dS)N�
�(+OK dummy pop3 server ready. <timestamp>F)�asynchat�
async_chat�__init__�set_terminator�	in_buffer�push�
tls_active�tls_starting��self�conn�r�9/usr/local/python-3.10/lib/python3.10/test/test_poplib.pyr8s


zDummyPOP3Handler.__init__cCs|j�|�dS�N)r�append�r�datarrr�collect_incoming_data@�z&DummyPOP3Handler.collect_incoming_datacCs�d�|j�}t|d�}g|_|�d�d��}|�d�}|dkr)||dd�}nd}t|d|�r?t|d|�}||�dS|�d	|�dS)
N��
ISO-8859-1� r�����Zcmd_z$-ERR unrecognized POP3 command "%s".)	�joinr�str�split�lower�find�hasattr�getattrr)r�line�cmd�space�arg�methodrrr�found_terminatorCs

z!DummyPOP3Handler.found_terminatorcC��rr�rrrr�handle_errorS�zDummyPOP3Handler.handle_errorcCstj�||�d�d�dS)Nr"r)rrr�encoderrrrrVszDummyPOP3Handler.pushcCs|�|�dSr�r�rr1rrr�cmd_echoYszDummyPOP3Handler.cmd_echocC� |dkr	|�d�|�d�dS)N�guidoz-ERR no such userz+OK password requiredr9r:rrr�cmd_user]�
zDummyPOP3Handler.cmd_usercCr<)N�pythonz-ERR wrong passwordz+OK 10 messagesr9r:rrr�cmd_passbr?zDummyPOP3Handler.cmd_passcC�|�d�dS)Nz
+OK 10 100r9r:rrr�cmd_statg�zDummyPOP3Handler.cmd_statcCs6|r
|�d||f�dS|�d�tj�|t�dS)Nz	+OK %s %sz+OK)rrr�	LIST_RESPr:rrr�cmd_listjs
zDummyPOP3Handler.cmd_listcCs$|�dtt��tj�|t�dS)Nz+OK %s bytes)r�len�	RETR_RESPrrr:rrr�cmd_retrsszDummyPOP3Handler.cmd_retrcCrB)Nz +OK message marked for deletion.r9r:rrr�cmd_deleyrDzDummyPOP3Handler.cmd_delecCrB�Nz+OK done nothing.r9r:rrr�cmd_noop|rDzDummyPOP3Handler.cmd_noopcCrBrKr9r:rrr�cmd_rpoprDzDummyPOP3Handler.cmd_rpopcCrBrKr9r:rrr�cmd_apop�rDzDummyPOP3Handler.cmd_apopcCs|�d�|��dS)Nz+OK closing.)rZclose_when_doner:rrr�cmd_quit�s
zDummyPOP3Handler.cmd_quitcCs t|j�}|jstrg|d<|S�NZSTLS)�dict�CAPASr�SUPPORTS_SSL)rZ_capasrrr�
_get_capas�s

zDummyPOP3Handler._get_capascCsZ|�d�|��r&|����D]\}}|g}|r|�|�|�d�|��q|�d�dS)Nz+OK Capability list followsr#�.)rrT�items�extendr')rr1Zcap�paramsZ_lnrrr�cmd_capa�s

zDummyPOP3Handler.cmd_capacCs|�|jr
d�dSd�dS)Nz+OK I know RFC6856z-ERR What is UTF8?!)r�enable_UTF8r:rrr�cmd_utf8�s
��zDummyPOP3Handler.cmd_utf8cCs||jdur7|�d�t�tj�}|�t�|j|jdddd�}|�	�|�
|�d|_d|_g|_|�
�dS|�d�dS)NFz+OK Begin TLS negotiationT)Zserver_sideZdo_handshake_on_connectZsuppress_ragged_eofsz*-ERR Command not permitted when TLS active)rr�ssl�
SSLContextZPROTOCOL_TLS_SERVERZload_cert_chain�CERTFILEZwrap_socket�socketZdel_channelZ
set_socketrr�_do_tls_handshake)rr1�contextZtls_sockrrr�cmd_stls�s 


�
zDummyPOP3Handler.cmd_stlsc
Cs�z|j��WnntjyQ}z=|jdtjtjfvr"WYd}~dS|jdtjkr4|��WYd}~Sd|jdvsBd|jdvrL|��WYd}~S�d}~wt	yu}z|jdt
jkrj|��WYd}~SWYd}~dSd}~wwd|_d|_
dS)NrZSSLV3_ALERT_BAD_CERTIFICATEr%ZSSLV3_ALERT_CERTIFICATE_UNKNOWNTF)r_Zdo_handshaker\ZSSLError�argsZSSL_ERROR_WANT_READZSSL_ERROR_WANT_WRITEZ
SSL_ERROR_EOF�handle_close�OSError�errnoZECONNABORTEDrr)r�errrrrr`�s.������
z"DummyPOP3Handler._do_tls_handshakecCsD|jr	|��dSz	tj�|�WdStjy!|��YdSwr)rr`rr�handle_readr\ZSSLEOFErrorrdr5rrrrh�s�zDummyPOP3Handler.handle_readN)�__name__�
__module__�__qualname__rRrZrrr3r6rr;r>rArCrFZcmd_uidlrIZcmd_toprJrLrMrNrOrTrYr[rSrbr`rhrrrrr
3s:
�r
c@sZeZdZeZejfdd�Zdd�Zdd�Z	dd�Z
d	d
�Zdd�ZeZ
d
d�Zdd�ZdS)�DummyPOP3ServercCsttj�|�tj�|�d|_|�|tj�|�	|�|�
d�d|_t��|_
|j��dd�\|_|_d|_dS)NT�F�)�	threading�Threadr�asyncore�
dispatcher�daemonZ
create_socketr_�SOCK_STREAM�bind�listen�active�Lock�active_lock�getsockname�host�port�handler_instance)r�address�afrrrr�s



zDummyPOP3Server.__init__cCs.|jrJ�t��|_tj�|�|j��dSr)rwro�Event�_DummyPOP3Server__flagrp�start�waitr5rrrr��s

zDummyPOP3Server.startc	Cs�d|_|j��zJ|jr8tjrA|j�tjddd�Wd�n1s$wY|jrJtjsWtjdd�dSWtjdd�dSWtjdd�dSWtjdd�dStjdd�w)NTg�������?r%)�timeout�count)Z
ignore_all)rwr��setrqZ
socket_mapryZloopZ	close_allr5rrr�run�s
�����zDummyPOP3Server.runcCs|jsJ�d|_|��dS�NF)rwr'r5rrr�stop�s
zDummyPOP3Server.stopcCs|�|�|_dSr)�handlerr})rr�addrrrr�handle_accepted�r zDummyPOP3Server.handle_acceptedcCs|��dSr)�closer5rrr�handle_connect�szDummyPOP3Server.handle_connectcCsdS)Nrrr5rrr�writable�szDummyPOP3Server.writablecCr4rrr5rrrr6�r7zDummyPOP3Server.handle_errorN)rirjrkr
r�r_�AF_INETrr�r�r�r�r�rhr�r6rrrrrl�s
rlc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zejddd�d d!��Zejddd�d"d#��Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zed0d1��Zed2d3��Zed4d5��Zd6S)7�
TestPOP3ClasscCs|�|�d��dS)N�+OK)�
assertTrue�
startswith�r�resprrr�assertOK�zTestPOP3Class.assertOKcCs8tttf�|_|j��tj|jj|jjt	j
d�|_dS�N�r�)rl�HOST�PORT�serverr��poplib�POP3r{r|�test_support�LOOPBACK_TIMEOUT�clientr5rrr�setUps

�zTestPOP3Class.setUpcCs|j��|j��d|_dSr)r�r�r�r�r5rrr�tearDown
s


zTestPOP3Class.tearDowncC�|�|j��d�dS)Ns(+OK dummy pop3 server ready. <timestamp>)�assertEqualr�Z
getwelcomer5rrr�test_getwelcomes�zTestPOP3Class.test_getwelcomecCs|�tj|jjd�dS)Nz	echo -err)�assertRaisesr��error_protor��	_shortcmdr5rrr�test_exceptionsszTestPOP3Class.test_exceptionscCs*|�|j�d��|�tj|jjd�dS)Nr=�invalid)r�r��userr�r�r�r5rrr�	test_user�zTestPOP3Class.test_usercCs*|�|j�d��|�tj|jjd�dS)Nr@r�)r�r�Zpass_r�r�r�r�r5rrr�
test_pass_r�zTestPOP3Class.test_pass_cCr�)N)�
�d)r�r��statr5rrr�	test_stat"�zTestPOP3Class.test_statcCs>|�|j��dd�gd�df�|�|j�d��d��dS)Nr%)s1 1s2 2s3 3s4 4s5 5��1sOK 1 1)r�r��listr��endswithr5rrr�	test_list%s��zTestPOP3Class.test_listcCs*dgd�df}|j�d�}|�||�dS)N�
+OK 116 bytes�sFrom: postmaster@python.orgsContent-Type: text/plainsMIME-Version: 1.0sSubject: Dummyr!sline1sline2sline3�q�foo)r�Zretrr�)r�expectedr�rrr�	test_retr+s�zTestPOP3Class.test_retrcCs&|�tj|jjdtjdd�dS)Nzecho +%sr��a)r�r�r�r�r�Z_MAXLINEr5rrr�test_too_long_lines4s�z!TestPOP3Class.test_too_long_linescC�|�|j�d��dS�Nr�)r�r�Zdeler5rrr�	test_dele8r�zTestPOP3Class.test_delecCs|�|j���dSr)r�r��noopr5rrr�	test_noop;r�zTestPOP3Class.test_noopcCr�r�)r�r�Zrpopr5rrr�	test_rpop>r�zTestPOP3Class.test_rpop�md5T)ZopensslcCs|�|j�dd��dS)Nr�Z
dummypassword)r�r��apopr5rrr�test_apop_normalAszTestPOP3Class.test_apop_normalcCsXddd}t�|jd|��|�tj|jjdd�Wd�dS1s%wYdS)Nr��<i@BZwelcomer�Zkb)r�Z	swap_attrr�r�r�r�r�)rZevil_welcomerrr�test_apop_REDOSEs"�zTestPOP3Class.test_apop_REDOScCs(dgd�df}|�|j�dd�|�dS)Nr�r�r�r%)r�r��top)rr�rrr�test_topPs
�zTestPOP3Class.test_topcCs|j��|j�d�dSr�)r�Zuidlr5rrr�	test_uidlXs
zTestPOP3Class.test_uidlcCs d|jj_|�tj|jj�dSr�)r�r�rZr�r�r�r��utf8r5rrr�test_utf8_raises_if_unsupported\�
z-TestPOP3Class.test_utf8_raises_if_unsupportedcCs(d|jj_d}|j��}|�||�dS)NTs+OK I know RFC6856)r�r�rZr�r�r�)rr��resultrrr�	test_utf8`s

zTestPOP3Class.test_utf8cC� |j��}|�d|��v�dS)Nr�r��capar��keys�rr�rrr�	test_capafr�zTestPOP3Class.test_capacCs4|j��}|�|�|�|jj�|�|jj�dSr)r��quitr��assertIsNone�sock�filer�rrr�	test_quitjs

zTestPOP3Class.test_quitcCr�rPr�r�rrr�test_stls_capaps
zTestPOP3Class.test_stls_capacCsd}|j��}|�||�dS)N�+OK Begin TLS negotiation)r��stlsr�)rr�r�rrr�	test_stlsus
zTestPOP3Class.test_stlscCs�d}t�tj�}|�t�|�|jtj�|�|jd�|�	tj
��|jj|d�}Wd�n1s4wYt
jd|jjtjd�|_|jj|d�}|�||�dS)Nr�T�ra�	localhostr�)r\r]�PROTOCOL_TLS_CLIENTZload_verify_locations�CAFILEr��verify_modeZ
CERT_REQUIRED�check_hostnamer�ZCertificateErrorr�r�r�r�r�r|r�r�)rr��ctxr�rrr�test_stls_context{s
��zTestPOP3Class.test_stls_contextN)rirjrkr�r�r�r�r�r�r�r�r�r�r�r�r�r�rZrequires_hashdigestr�r�r�r�r�r�r�r��requires_sslr�r�r�rrrrr�s>	




r�)�
SSLConnectionc@seZdZdd�ZdS)�DummyPOP3_SSLHandlercCs@tj�||�|��|�d�g|_|�d�d|_d|_dS)Nrr
TF)	rrrZsecure_connectionrrrrrrrrrr�s


zDummyPOP3_SSLHandler.__init__N)rirjrkrrrrrr��sr�c@s8eZdZdd�Zdd�Zdd�Zdd�ZeZd	d
�ZdS)�TestPOP3_SSLClasscCs:tttf�|_t|j_|j��t�|jj	|jj
�|_dSr)rlr�r�r�r�r�r�r�r	r{r|r�r5rrrr��s
zTestPOP3_SSLClass.setUpcCs|�dtj�dS)Nr	)ZassertInr��__all__r5rrr�test__all__�szTestPOP3_SSLClass.test__all__c	Cs�t�tj�}d|_tj|_|jttj	|j
j|j
jt
|d�|jttj	|j
j|j
jt
|d�|jttj	|j
j|j
jt
t
|d�|j��tj	|j
j|j
j|d�|_|�|jjtj�|�|jjj|�|�|j���d��dS)NF)�keyfilera)�certfilera)r�r�rar�r�)r\r]r�r�Z	CERT_NONEr�r��
ValueErrorr�r	r�r{r|r^r�r�ZassertIsInstancer�Z	SSLSocketZassertIsrar�r�r�)rr�rrr�test_context�s(
�
��
�zTestPOP3_SSLClass.test_contextcC�|�tj|jj�dSr�r�r�r�r�r�r5rrrr��r�zTestPOP3_SSLClass.test_stlscCr�rP�r�r�ZassertFalser�r�rrrr��r�z TestPOP3_SSLClass.test_stls_capaN)	rirjrkr�r�r�r�r�r�rrrrr��sr�c@s0eZdZdd�Zdd�Zdd�ZeZdd�Zd	S)
�TestPOP3_TLSClasscCsBtttf�|_|j��tj|jj|jjt	j
d�|_|j��dSr�)
rlr�r�r�r�r�r�r{r|r�r�r�r�r5rrrr��s
�zTestPOP3_TLSClass.setUpcCsZ|jjdur#|jjdur#z|j��Wntjy"|j��Ynw|j��d|_dSr)	r�r�r�r�r�r�r�r�r�r5rrrr��s�

zTestPOP3_TLSClass.tearDowncCr�rr�r5rrrr��r�zTestPOP3_TLSClass.test_stlscCr�)NsSTLSr�r�rrrr��r�z TestPOP3_TLSClass.test_stls_capaN)rirjrkr�r�r�r�r�rrrrr��s
r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestTimeoutscCspt��|_t�tjtj�|_|j�d�t�	|j�|_
tj|j|j|jfd�|_
d|j
_|j
��|j��dS)N�<)�targetrcT)ror��evtr_r�rtr��
settimeoutrZ	bind_portr|rpr��threadrsr�r�r5rrrr��s

zTestTimeouts.setUpcCs|j��d|_dSr)rr'r5rrrr��s

zTestTimeouts.tearDowncCsn|��|��z)z|��\}}|�d�|��Wn	ty#YnwW|��dSW|��dS|��w)Ns
+ Hola mundo
)rvr��accept�sendr��TimeoutError)rr�Zservrr�rrrr��s
���zTestTimeouts.serverc	Csd|�t���t�tj�zt�t|j	�}Wt�d�nt�d�w|�
|j��tj�|�
�dSr)r�r_�getdefaulttimeout�setdefaulttimeoutr�r�r�r�r�r|r�r��
gettimeoutr��r�poprrr�testTimeoutDefaultszTestTimeouts.testTimeoutDefaultc	Csb|�t���t�d�ztjt|jdd�}Wt�d�nt�d�w|�|j�	��|�
�dS)N�r�)r�r_rrr�r�r�r|r�rr�rrrr�testTimeoutNones
zTestTimeouts.testTimeoutNonecCsrtjt|jtjd�}|�|j��tj�|�	�|�
t��tjt|jdd�Wd�dS1s2wYdS)Nr�r)r�r�r�r|r�r�r�r�rr�r�r�rrrr�testTimeoutValues"�zTestTimeouts.testTimeoutValueN)	rirjrkr�r�r�r	rrrrrrr��s


r�cCs t��}tjtjg|�R�dSr)rZthreading_setup�unittestZaddModuleCleanupZthreading_cleanup)�thread_inforrr�setUpModulesr�__main__)4�__doc__r�r_�osrfror
rr�testrr�Ztest.supportrrr�warnings�catch_warnings�simplefilter�DeprecationWarningrrqr�r�rSr,r\�pathr'�dirname�__file__�curdirr^r�r�rErHrr
rrrprlr�Ztest.test_ftplibr�r�r�r�r�rri�mainrrrr�<module>s\

�

3)!9�
© 2025 GrazzMean