Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_smtpd.cpython-310.pyc
o

�9j���@s�ddlZddlZddlmZmZddlmZddlmZddlZddl	Z	ddl
Z
e
���e
�de
�ddlZddlZWd�n1sEwYGdd�dej�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
ej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�ZGdd�dej�Ze�ejd�Gdd�de��ZGdd�dej�ZGdd�dej�Z Gdd �d ej�Z!Gd!d"�d"ej�Z"Gd#d$�d$ej�Z#e$d%kr�e�%�dSdS)&�N)�support�mock_socket)�
socket_helper)�warnings_helper�ignorec@seZdZdd�Zdd�ZdS)�DummyServercOs:tjj|g|�Ri|��g|_|jrd|_dSd|_dS)Nz
return statuss
return status)�smtpd�
SMTPServer�__init__�messages�_decode_data�
return_status)�self�args�kwargs�r�&/usr/lib/python3.10/test/test_smtpd.pyr
s


zDummyServer.__init__cKsB|j�||||f�||jkrdSd|vrd|dvrdSdSdS)Nz	250 Okish�mail_options�SMTPUTF8z250 SMTPUTF8 message okish)r�appendr
)r�peer�mailfrom�rcpttos�data�kwrrr�process_messages
�zDummyServer.process_messageN)�__name__�
__module__�__qualname__r
rrrrrrsrc@seZdZdS)�DummyDispatcherBrokenN)rrrrrrrr!src@�eZdZdd�ZdS)�BrokenDummyServercCst���N)r)r�numrrr�listen&szBrokenDummyServer.listenN)rrrr$rrrrr!%�r!c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�SMTPDServerTestcC�tt_t_dSr"�rr�socket�asyncore�rrrr�setUp+�zSMTPDServerTest.setUpcsrtjtjdfddd�}|��\}}tj|||dd���fdd�}|d�|d�|d	�|d
�|�t|d�dS)Nr��brT��decode_datac��j�|����dSr"�r)�
queue_recv�handle_read��line��channelrr�
write_line4�zFSMTPDServerTest.test_process_message_unimplemented.<locals>.write_line�HELO example�MAIL From:eggs@example�RCPT To:spam@example�DATAs	spam
.
)rr	r�HOST�accept�SMTPChannel�assertRaises�NotImplementedError)r�server�conn�addrr:rr8r�"test_process_message_unimplemented.s�z2SMTPDServerTest.test_process_message_unimplementedcCs"|jttjtjdfdddd�dS)Nrr.T��enable_SMTPUTF8r1)rC�
ValueErrorrr	rr@r+rrr�+test_decode_data_and_enable_SMTPUTF8_raises>s
�z;SMTPDServerTest.test_decode_data_and_enable_SMTPUTF8_raisescC�t��tt_t_dSr"�r*�	close_allr)rr+rrr�tearDownG�zSMTPDServerTest.tearDownN)rrrr,rHrLrPrrrrr&*s
	r&c@sFeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�DebuggingServerTestcCr'r"r(r+rrrr,Nr-zDebuggingServerTest.setUpFcsN�fdd�}|d�|r|d�n|d�|d�|d�||�|d�dS)	Ncr2r"r3r6r8rrr:Rr;z1DebuggingServerTest.send_data.<locals>.write_line�EHLO examples-MAIL From:eggs@example BODY=8BITMIME SMTPUTF8r=r>r?�.r)rr9rrJr:rr8r�	send_dataQs
zDebuggingServerTest.send_datacC�tjtjdfddd�}|��\}}tj|||dd�}t���}|�|d�Wd�n1s/wY|�	�}|�
|t�d��dS)Nrr.Tr0sFrom: test

hello
z�             ---------- MESSAGE FOLLOWS ----------
             From: test
             X-Peer: peer-address

             hello
             ------------ END MESSAGE ------------
             �
r�DebuggingServerrr@rArBr�captured_stdoutrU�getvalue�assertEqual�textwrap�dedent�rrErFrGr9�s�stdoutrrr�*test_process_message_with_decode_data_true_��
�z>DebuggingServerTest.test_process_message_with_decode_data_truecCs~t�tjdfd�}|��\}}t�|||�}t���}|�|d�Wd�n1s+wY|�	�}|�
|t�d��dS)Nrr.�From: test

héllo�
��             ---------- MESSAGE FOLLOWS ----------
             b'From: test'
             b'X-Peer: peer-address'
             b''
             b'h\xc3\xa9llo\xff'
             ------------ END MESSAGE ------------
             rWr^rrr�+test_process_message_with_decode_data_falseps
�z?DebuggingServerTest.test_process_message_with_decode_data_falsecCrV)Nrr.T�rJrcrdrWr^rrr�.test_process_message_with_enable_SMTPUTF8_true�rbzBDebuggingServerTest.test_process_message_with_enable_SMTPUTF8_truecCs�tjtjdfddd�}|��\}}tj|||dd�}t���}|j|ddd�Wd�n1s1wY|�	�}|�
|t�d��dS)Nrr.Trfrca             ---------- MESSAGE FOLLOWS ----------
             mail options: ['BODY=8BITMIME', 'SMTPUTF8']
             b'From: test'
             b'X-Peer: peer-address'
             b''
             b'h\xc3\xa9llo\xff'
             ------------ END MESSAGE ------------
             rWr^rrr�7test_process_SMTPUTF8_message_with_enable_SMTPUTF8_true�s�
��zKDebuggingServerTest.test_process_SMTPUTF8_message_with_enable_SMTPUTF8_truecCrMr"rNr+rrrrP�rQzDebuggingServerTest.tearDownN)F)
rrrr,rUrarergrhrPrrrrrRLs
rRc@s:eZdZdd�Zdd�Ze�ejd�dd��Z	dd	�Z
d
S)�TestFamilyDetectioncCr'r"r(r+rrrr,�r-zTestFamilyDetection.setUpcCrMr"rNr+rrrrP�rQzTestFamilyDetection.tearDown�IPv6 not enabledcC�.t�tjdftjdf�}|�|jjtj�dS�Nr)	rr	r�HOSTv6�HOSTv4r[r)�family�AF_INET6�rrErrr�test_socket_uses_IPv6�sz)TestFamilyDetection.test_socket_uses_IPv6cCrkrl)	rr	rrnrmr[r)ro�AF_INETrqrrr�test_socket_uses_IPv4�sz)TestFamilyDetection.test_socket_uses_IPv4N)rrrr,rP�unittest�
skipUnlessr�IPV6_ENABLEDrrrtrrrrri�s
ric@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�TestRcptOptionParsing�:555 RCPT TO parameters not recognized or not implemented
cC�(tt_t_tj|_t��|_t_dSr"�	rrr)r*�DEBUGSTREAM�old_debugstream�io�StringIO�debugr+rrrr,��zTestRcptOptionParsing.setUpcC� t��tt_t_|jt_dSr"�r*rOr)rr}r|r+rrrrP��zTestRcptOptionParsing.tearDowncC�|j�|�|��dSr"r3�rr9r7rrrr:�r;z TestRcptOptionParsing.write_linecCsdttjdfd�}|��\}}t�|||�}|�|d�|�|d�|�|d�|�|jj	|j
�dS)Nrr.rS�$MAIL from: <foo@example.com> size=20s"RCPT to: <foo@example.com> foo=bar�rrr@rArrBr:r[r)�last�error_response�rrErFrGr9rrr�test_params_rejected�sz*TestRcptOptionParsing.test_params_rejectedcCsbttjdfd�}|��\}}t�|||�}|�|d�|�|d�|�|d�|�|jj	d�dS)Nrr.rSr�sRCPT to: <foo@example.com>�250 OK
�
rrr@rArrBr:r[r)r�r�rrr�test_nothing_accepted�sz+TestRcptOptionParsing.test_nothing_acceptedN)	rrrr�r,rPr:r�r�rrrrrx�s	rxc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�TestMailOptionParsing�<555 MAIL FROM parameters not recognized or not implemented
cCrzr"r{r+rrrr,�r�zTestMailOptionParsing.setUpcCr�r"r�r+rrrrP�r�zTestMailOptionParsing.tearDowncCr�r"r3r�rrrr:�r;z TestMailOptionParsing.write_linecCs�ttjdfddd�}|��\}}tj|||dd�}|�|d�dD]}|�||�|�|jj	|j
�q!|�|d�|�|jj	d�dS)	Nrr.Tr0rS)�-MAIL from: <foo@example.com> size=20 SMTPUTF8�;MAIL from: <foo@example.com> size=20 SMTPUTF8 BODY=8BITMIMEs1MAIL from: <foo@example.com> size=20 BODY=UNKNOWN�2MAIL from: <foo@example.com> size=20 body=8bitmimer�r�r��rrErFrGr9r7rrr�test_with_decode_data_true�sz0TestMailOptionParsing.test_with_decode_data_truecCs�ttjdfd�}|��\}}t�|||�}|�|d�dD]}|�||�|�|jj	|j
�q|�|d�|�|jj	d�|�|d�|�|jj	d�dS)	Nrr.rS)r�r�s:MAIL from: <foo@example.com> size=20 SMTPUTF8 BODY=UNKNOWNs3501 Error: BODY can only be one of 7BIT, 8BITMIME
r�r�r�r�rrr�test_with_decode_data_falses&���z1TestMailOptionParsing.test_with_decode_data_falsecCs^ttjdfddd�}|��\}}tj|||dd�}|�|d�|�|d�|�|jj	d�dS)Nrr.TrfrSs;MAIL from: <foo@example.com> size=20 body=8bitmime smtputf8r�r�r�rrr�test_with_enable_smtputf8_trues�z4TestMailOptionParsing.test_with_enable_smtputf8_trueN)
rrrr�r,rPr:r�r�r�rrrrr��sr�c@s$eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�d��ZDd�d��ZEd�S)��SMTPDChannelTestcC�btt_t_tj|_t��|_t_t	t
jdfddd�|_|j�
�\}}tj|j||dd�|_dS�Nrr.Tr0�rrr)r*r|r}r~rr�rrr@rErArBr9�rrFrGrrrr,#���zSMTPDChannelTest.setUpcCr�r"r�r+rrrrP-r�zSMTPDChannelTest.tearDowncC�|jj�|�|j��dSr"�r9r)r4r5�rr7rrrr:2�zSMTPDChannelTest.write_linecCs|jtttjdfddd�dSr�)rCrr!rr@r+rrr�test_broken_connect6s
�z$SMTPDChannelTest.test_broken_connectc	Cs(|jttj|j|jj|jjddd�dS)NTrI)rCrKrrBrEr9rFrGr+rrrrL;s

�z<SMTPDChannelTest.test_decode_data_and_enable_SMTPUTF8_raisescCs|j��dSr")rE�
handle_acceptr+rrr�test_server_acceptAsz#SMTPDChannelTest.test_server_acceptcC� |�d�|�|jjjd�dS)N�s500 Error: bad syntax
�r:r[r9r)r�r+rrr�test_missing_dataD�
�z"SMTPDChannelTest.test_missing_datacCr�)NrSs
250 HELP
r�r+rrr�	test_EHLOI�
zSMTPDChannelTest.test_EHLOcCr�)NsEHLOs501 Syntax: EHLO hostname
r�r+rrr�test_EHLO_bad_syntaxMr�z%SMTPDChannelTest.test_EHLO_bad_syntaxcC�*|�d�|�d�|�|jjjd�dS)NrS�503 Duplicate HELO/EHLO
r�r+rrr�test_EHLO_duplicateR�


�z$SMTPDChannelTest.test_EHLO_duplicatecC�*|�d�|�d�|�|jjjd�dS)NrSr<r�r�r+rrr�test_EHLO_HELO_duplicateXr�z)SMTPDChannelTest.test_EHLO_HELO_duplicatecCs6tj��}|�d�|�|jjjd�|��d��dS)Nr<z250 {}
�ascii)	rr)�getfqdnr:r[r9r��format�encode)r�namerrr�	test_HELO^s


�zSMTPDChannelTest.test_HELOcCr�)Nr<rSr�r�r+rrr�test_HELO_EHLO_duplicatedr�z)SMTPDChannelTest.test_HELO_EHLO_duplicatecCr�)NsHELPsF250 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY
r�r+rrr�	test_HELPjr�zSMTPDChannelTest.test_HELPcCr�)Ns	HELP MAILs"250 Syntax: MAIL FROM: <address>
r�r+rrr�test_HELP_commandpr�z"SMTPDChannelTest.test_HELP_commandcCr�)Ns	HELP SPAMsF501 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY
r�r+rrr�test_HELP_command_unknownur�z*SMTPDChannelTest.test_HELP_command_unknowncCr�)NsHELOs501 Syntax: HELO hostname
r�r+rrr�test_HELO_bad_syntax{r�z%SMTPDChannelTest.test_HELO_bad_syntaxcCr�)Nr<r�r�r+rrr�test_HELO_duplicate�r�z$SMTPDChannelTest.test_HELO_duplicatecCs0d|_|�d�|�d�|�|jjjd�dS)NFr<s%MAIL from:<foo@example.com> SIZE=1234�"501 Syntax: MAIL FROM: <address>
)�
extended_smtpr:r[r9r)r�r+rrr�8test_HELO_parameter_rejected_when_extensions_not_enabled�s

�zISMTPDChannelTest.test_HELO_parameter_rejected_when_extensions_not_enabledcCr�)Nr<sMAIL from:   <foo@example.com>r�r�r+rrr�"test_MAIL_allows_space_after_colon�r�z3SMTPDChannelTest.test_MAIL_allows_space_after_coloncCr�)NrSs&MAIL from:   <foo@example.com> size=20r�r�r+rrr�+test_extended_MAIL_allows_space_after_colon�r�z<SMTPDChannelTest.test_extended_MAIL_allows_space_after_coloncCr�)N�NOOPr�r�r+rrr�	test_NOOP�r�zSMTPDChannelTest.test_NOOPcCr�)Nr<r�r�r�r+rrr�test_HELO_NOOP��

zSMTPDChannelTest.test_HELO_NOOPcCr�)NsNOOP his501 Syntax: NOOP
r�r+rrr�test_NOOP_bad_syntax�r�z%SMTPDChannelTest.test_NOOP_bad_syntaxcCr�)N�QUIT�	221 Bye
r�r+rrr�	test_QUIT�r�zSMTPDChannelTest.test_QUITcCr�)Nr<r�r�r�r+rrr�test_HELO_QUIT�r�zSMTPDChannelTest.test_HELO_QUITcCr�)NsQUIT bye byer�r�r+rrr�test_QUIT_arg_ignored�r�z&SMTPDChannelTest.test_QUIT_arg_ignoredcCs(d|j_|�d�|�|jjjd�dS)Nz	BAD STATEr<s451 Internal confusion
)r9�
smtp_stater:r[r)r�r+rrr�test_bad_state�s

�zSMTPDChannelTest.test_bad_statecCs:|�d�|�dd|jjd�|�|jjjd�dS)Nr<sMAIL from: �as@example�500 Error: line too long
)r:r9�command_size_limitr[r)r�r+rrr�test_command_too_long�s

���z&SMTPDChannelTest.test_command_too_longcCsr|�d�|jjtd�}|�dd|d�|�|jjjd�|�dd|dd�|�|jjjd�dS)	NrSzMAIL from:<@example>�MAIL from:<r�s@example> SIZE=1234r��r�)r:r9r��lenr[r)r��r�fill_lenrrr�*test_MAIL_command_limit_extended_with_SIZE�s 
��
���z;SMTPDChannelTest.test_MAIL_command_limit_extended_with_SIZEcCs2|�d�|�d�|�|jjjdd�d�dS)NrSs5MAIL from: <naive@example.com> BODY=8BITMIME SMTPUTF8r��5r�r+rrr�-test_MAIL_command_rejects_SMTPUTF8_by_default�s

�z>SMTPDChannelTest.test_MAIL_command_rejects_SMTPUTF8_by_defaultcCs\d|j_|�d�|�d�|�d�|�d�|�d|jjd�|�|jjjd�dS)	N�r<r=r>r?�AsA
.�552 Error: Too much mail data
�r9�data_size_limitr:r[r)r�r+rrr�-test_data_longer_than_default_data_size_limit�s



��z>SMTPDChannelTest.test_data_longer_than_default_data_size_limitcCr�)NrSs!MAIL FROM:<eggs@example> SIZE=512r�r�r+rrr�test_MAIL_size_parameter�r�z)SMTPDChannelTest.test_MAIL_size_parametercCr�)NrSs%MAIL FROM:<eggs@example> SIZE=invalid�9501 Syntax: MAIL FROM: <address> [SP <mail-parameters>]
r�r+rrr� test_MAIL_invalid_size_parameter�r�z1SMTPDChannelTest.test_MAIL_invalid_size_parametercCsP|�d�|�d�|�|jjjd�|�d�|�d�|�|jjjd�dS)NrSs"MAIL FROM:<eggs@example> ham=greenr�sMAIL FROM:<eggs@example>s RCPT TO:<eggs@example> ham=greenryr�r+rrr�!test_MAIL_RCPT_unknown_parameters�s

�

�z2SMTPDChannelTest.test_MAIL_RCPT_unknown_parameterscCs2d|j_|�d�|�d�|�|jjjd�dS)Nr�rSs"MAIL FROM:<eggs@example> SIZE=2096s<552 Error: message size exceeds fixed maximum message size
r�r+rrr�<test_MAIL_size_parameter_larger_than_default_data_size_limit�s

�zMSMTPDChannelTest.test_MAIL_size_parameter_larger_than_default_data_size_limitcCr�)Nr<sRCPT to:spam@examples503 Error: need MAIL command
r�r+rrr�test_need_MAILr�zSMTPDChannelTest.test_need_MAILcCr�)Nr<�MAIL from eggs@exampler�r�r+rrr�test_MAIL_syntax_HELOr�z&SMTPDChannelTest.test_MAIL_syntax_HELOcCr�)NrSr�r�r�r+rrr�test_MAIL_syntax_EHLOr�z&SMTPDChannelTest.test_MAIL_syntax_EHLOcCr�)Nr<s
MAIL from:r�r�r+rrr�test_MAIL_missing_addressr�z*SMTPDChannelTest.test_MAIL_missing_addresscCr�)Nr<sMAIL from:<eggs@example>r�r�r+rrr�test_MAIL_chevronsr�z#SMTPDChannelTest.test_MAIL_chevronscCr�)NrSsMAIL from:<>r�r�r+rrr�test_MAIL_empty_chevronsr�z)SMTPDChannelTest.test_MAIL_empty_chevronscC�:|�d�|�d�|�|jjjd�|�|jjd�dS)NrSs%MAIL from: <"Fred Blogs"@example.com>r��"Fred Blogs"@example.com�r:r[r9r)r�rr+rrr�test_MAIL_quoted_localpart"�

z+SMTPDChannelTest.test_MAIL_quoted_localpartcCr�)NrSs#MAIL from: "Fred Blogs"@example.comr�r�r�r+rrr�$test_MAIL_quoted_localpart_no_angles(r�z5SMTPDChannelTest.test_MAIL_quoted_localpart_no_anglescCr�)NrSs/MAIL from: <"Fred Blogs"@example.com> SIZE=1000r�r�r�r+rrr�$test_MAIL_quoted_localpart_with_size.r�z5SMTPDChannelTest.test_MAIL_quoted_localpart_with_sizecCr�)NrSs-MAIL from: "Fred Blogs"@example.com SIZE=1000r�r�r�r+rrr�.test_MAIL_quoted_localpart_with_size_no_angles4r�z?SMTPDChannelTest.test_MAIL_quoted_localpart_with_size_no_anglescC�4|�d�|�d�|�d�|�|jjjd�dS)Nr<sMAIL from:eggs@examplesMAIL from:spam@examples 503 Error: nested MAIL command
r�r+rrr�test_nested_MAIL:�


�z!SMTPDChannelTest.test_nested_MAILcCr�)NsVRFY eggs@examplesD252 Cannot VRFY user, but will accept message and attempt delivery
r�r+rrr�	test_VRFYAr�zSMTPDChannelTest.test_VRFYcCr�)NsVRFYs501 Syntax: VRFY <address>
r�r+rrr�test_VRFY_syntaxGr�z!SMTPDChannelTest.test_VRFY_syntaxcCr�)NsEXPNs502 EXPN not implemented
r�r+rrr�test_EXPN_not_implementedLr�z*SMTPDChannelTest.test_EXPN_not_implementedcCr�)NsMAIL from:<foo@example.com>�503 Error: send HELO first
r�r+rrr�test_no_HELO_MAILQr�z"SMTPDChannelTest.test_no_HELO_MAILcCr�)Nr<r=r?s503 Error: need RCPT command
r�r+rrr�test_need_RCPTVr�zSMTPDChannelTest.test_need_RCPTcCr�)Nr<�MAIL From: eggs@example�RCPT to eggs@examples 501 Syntax: RCPT TO: <address>
r�r+rrr�test_RCPT_syntax_HELO]r�z&SMTPDChannelTest.test_RCPT_syntax_HELOcCr�)NrSrrs7501 Syntax: RCPT TO: <address> [SP <mail-parameters>]
r�r+rrr�test_RCPT_syntax_EHLOdr�z&SMTPDChannelTest.test_RCPT_syntax_EHLOcCr�)Nr<rsRCPT to: <eggs@example>r�r�r+rrr�test_RCPT_lowercase_to_OKks


z*SMTPDChannelTest.test_RCPT_lowercase_to_OKcCr�)Nrr�r�r+rrr�test_no_HELO_RCPTqr�z"SMTPDChannelTest.test_no_HELO_RCPTcC�|�d�|�d�|�|jjjd�|�d�|�|jjjd�|�d�|�|jjjd�|�d�|�|jjjd�|�|jjdd	d
gdfg�dS�Nr<r=r�r>r?�%354 End data with <CR><LF>.<CR><LF>
s
data
more
.�zpeer-addressz	peer-port�eggs@example�spam@examplez	data
more�r:r[r9r)r�rErr+rrr�test_data_dialogv�$



�

��z!SMTPDChannelTest.test_data_dialogcCs>|�d�|�d�|�d�|�d�|�|jjjd�dS)Nr<r=r>�	DATA spams501 Syntax: DATA
r�r+rrr�test_DATA_syntax�s




z!SMTPDChannelTest.test_DATA_syntaxcCr�)Nrr�r�r+rrr�test_no_HELO_DATA�r�z"SMTPDChannelTest.test_no_HELO_DATAcCsF|�d�|�d�|�d�|�d�|�d�|�|jjd�dS)Nr<r=r>r?s..
.
�.�r:r[r9�
received_datar+rrr�$test_data_transparency_section_4_5_2�s




z5SMTPDChannelTest.test_data_transparency_section_4_5_2cCs^|�d�|�d�|�d�|�d�|�d�|�d�|�|jjddd	d
gdfg�dS)Nr<r=r>sRCPT To:ham@exampler?�data
.r
rrzham@exampler)r:r[rErr+rrr�test_multiple_RCPT�s






��z#SMTPDChannelTest.test_multiple_RCPTcCsH|�d�|�d�|�d�|�d�|�d�|�|jjjd�dS)Nr<r=r>r?sreturn status
.s250 Okish
r�r+rrr�test_manual_status�s




z#SMTPDChannelTest.test_manual_statuscCs�|�d�|�d�|�d�|�d�|�|jjjd�|�d�|�d�|�d�|�d	�|�|jjd
ddgd
fg�dS)Nr<r=r>�RSETr�sMAIL From:foo@examplesRCPT To:eggs@exampler?rr
zfoo@examplerrr
r+rrr�	test_RSET�s 








��zSMTPDChannelTest.test_RSETcCr�)Nr<rr�r�r+rrr�test_HELO_RSET�r�zSMTPDChannelTest.test_HELO_RSETcCr�)NsRSET his501 Syntax: RSET
r�r+rrr�test_RSET_syntax�r�z!SMTPDChannelTest.test_RSET_syntaxcCr�)NsUNKNOWN_CMDs1500 Error: command "UNKNOWN_CMD" not recognized
r�r+rrr�test_unknown_command�r�z%SMTPDChannelTest.test_unknown_commandcCs�t�dtf��|jj}Wd�n1swYt�dtf��d|j_Wd�n1s1wYt�dtf��|jj}Wd�n1sLwYt�dtf��d|j_Wd�n1sgwYt�dtf��|jj}Wd�n1s�wYt�dtf��d|j_Wd�n1s�wYt�dtf��|jj}Wd�n1s�wYt�dtf��d|j_Wd�n1s�wYt�dtf��|jj}Wd�n1s�wYt�dtf��d|j_Wd�n	1�s
wYt�dtf��|jj	}Wd�n	1�s&wYt�dtf��d|j_	Wd�n	1�sBwYt�dtf��|jj
}Wd�n	1�s^wYt�dtf��d|j_
Wd�n	1�szwYt�dtf��|jj}Wd�n	1�s�wYt�dtf��d|j_Wd�n	1�s�wYt�dtf��|jj}Wd�n	1�s�wYt�dtf��d|j_Wd�n	1�s�wYt�dtf��|jj
}Wd�n	1�swYt�dtf��d|j_
Wd�n	1�s"wYt�dtf��|jj}Wd�n	1�s>wYt�dtf��
d|j_Wd�dS1�s[wYdS)N��spam)r�check_warnings�DeprecationWarningr9�_SMTPChannel__server�_SMTPChannel__line�_SMTPChannel__state�_SMTPChannel__greeting�_SMTPChannel__mailfrom�_SMTPChannel__rcpttos�_SMTPChannel__data�_SMTPChannel__fqdn�_SMTPChannel__peer�_SMTPChannel__conn�_SMTPChannel__addr)rr rrr�test_attribute_deprecations�s�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
$�z,SMTPDChannelTest.test_attribute_deprecationsN)Frrrr,rPr:r�rLr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrrrrrrr.rrrrr�"s�

	r�rjc@r )�SMTPDChannelIPv6TestcCr�r�)rrr)r*r|r}r~rr�rrrmrErArBr9r�rrrr,r�zSMTPDChannelIPv6Test.setUpN)rrrr,rrrrr/�sr/c@�4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�!SMTPDChannelWithDataSizeLimitTestcCsdtt_t_tj|_t��|_t_t	t
jdfddd�|_|j�
�\}}tj|j||ddd�|_dS)Nrr.Tr0� r�r�rrrr,
s��z'SMTPDChannelWithDataSizeLimitTest.setUpcCr�r"r�r+rrrrPr�z*SMTPDChannelWithDataSizeLimitTest.tearDowncCr�r"r�r�rrrr:r�z,SMTPDChannelWithDataSizeLimitTest.write_linecCrrr
r+rrr�test_data_limit_dialog!rz8SMTPDChannelWithDataSizeLimitTest.test_data_limit_dialogcCs~|�d�|�d�|�|jjjd�|�d�|�|jjjd�|�d�|�|jjjd�|�d�|�|jjjd�dS)	Nr<r=r�r>r?r	s'This message is longer than 32 bytes
.r�r�r+rrr�$test_data_limit_dialog_too_much_data3s



�
�zFSMTPDChannelWithDataSizeLimitTest.test_data_limit_dialog_too_much_dataN)rrrr,rPr:r3r4rrrrr1sr1c@r0)�SMTPDChannelWithDecodeDataFalsecCsZtt_t_tj|_t��|_t_t	t
jdfd�|_|j�
�\}}t�|j||�|_dS)Nrr.r�r�rrrr,Dsz%SMTPDChannelWithDecodeDataFalse.setUpcCr�r"r�r+rrrrPLr�z(SMTPDChannelWithDecodeDataFalse.tearDowncCr�r"r�r�rrrr:Qr�z*SMTPDChannelWithDecodeDataFalse.write_linecCsP|�d�|�d�|�d�|�d�|�d�|�d�|�|jjd�dS)Nr<r=r>r?�plain ascii textrTrr+rrr�test_ascii_dataU�





z/SMTPDChannelWithDecodeDataFalse.test_ascii_datacC�Z|�d�|�d�|�d�|�d�|�d�|�d�|�d�|�|jjd�dS)	Nr<r=r>r?�utf8 enriched text: żźć�and some plain asciirTs/utf8 enriched text: żźć
and some plain asciirr+rrr�test_utf8_data^�






�z.SMTPDChannelWithDecodeDataFalse.test_utf8_dataN�rrrr,rPr:r7r<rrrrr5Bs	r5c@r0)�SMTPDChannelWithDecodeDataTruecCr�r�r�r�rrrr,ns��z$SMTPDChannelWithDecodeDataTrue.setUpcCr�r"r�r+rrrrPyr�z'SMTPDChannelWithDecodeDataTrue.tearDowncCr�r"r�r�rrrr:~r�z)SMTPDChannelWithDecodeDataTrue.write_linecCsP|�d�|�d�|�d�|�d�|�d�|�d�|�|jjd�dS)Nr<r=r>r?r6rTzplain ascii textrr+rrrr7�r8z.SMTPDChannelWithDecodeDataTrue.test_ascii_datacCr9)	Nr<r=r>r?r:r;rTu/utf8 enriched text: żźć
and some plain asciirr+rrrr<�r=z-SMTPDChannelWithDecodeDataTrue.test_utf8_dataNr>rrrrr?ls	r?c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�&SMTPDChannelTestWithEnableSMTPUTF8TruecCr�)Nrr.Trfr�r�rrrr,�r�z,SMTPDChannelTestWithEnableSMTPUTF8True.setUpcCr�r"r�r+rrrrP�r�z/SMTPDChannelTestWithEnableSMTPUTF8True.tearDowncCr�r"r�r�rrrr:�r�z1SMTPDChannelTestWithEnableSMTPUTF8True.write_linecCs0|�d�|�d�d��|�|jjjd�dS)NrSu7MAIL from: <naïve@example.com> BODY=8BITMIME SMTPUTF8�utf-8r�)r:r�r[r9r)r�r+rrr�1test_MAIL_command_accepts_SMTPUTF8_when_announced�s
��zXSMTPDChannelTestWithEnableSMTPUTF8True.test_MAIL_command_accepts_SMTPUTF8_when_announcedcCs�|�d�dD]V}|�d|�|�|jjjdd�d�|�d�|�|jjjdd�d�|�d�|�|jjjdd�d	�|�d
�|dkrT|�|jjjd�q|�|jjjd
�qdS)NrS)r�sBODY=8BITMIME SMTPUTF8sMAIL from: <a@example> r��250srcpt to:<b@example.com>�data�354sc
.r�r�s250 SMTPUTF8 message okish
r�)r�mail_parametersrrr�test_process_smtputf8_message�s



��zDSMTPDChannelTestWithEnableSMTPUTF8True.test_process_smtputf8_messagecCs�|�d�|�d�d��|�|jjjdd�d�|�d�d��|�|jjjdd�d�|�d�|�|jjjdd�d	�|�d
�|�d�|�|jjd
�dS)NrSu2MAIL From: naïve@examplé BODY=8BITMIME SMTPUTF8rArrCrDuRCPT To:späm@examplér?rFr:rT)r:r�r[r9r)r�rr+rrrr<�s
�


�z5SMTPDChannelTestWithEnableSMTPUTF8True.test_utf8_datacCsn|�d�dtd�}|�dd|dd�|�|jjjd�|�dd|d�|�|jjjd	�dS)
N�ehlo example�$�mail from:<@example>r�r�r��	@example>r�r��r:r�r[r9r)r�r�rrr�7test_MAIL_command_limit_extended_with_SIZE_and_SMTPUTF8�s 

�����z^SMTPDChannelTestWithEnableSMTPUTF8True.test_MAIL_command_limit_extended_with_SIZE_and_SMTPUTF8cCs�|�d�dtd�}dD]h}|�d||d�|�|jjjdd�d	�|�d||d
�|�|jjjdd�d�|�d�|�|jjjdd�d�|�d
�|�|jjjdd�d�|�d�|�|jjjdd�d�q
dS)NrIrJrK)r��b�cr�s
a@example>rrCs500rLrDsrcpt to:<hans@example.com>rErFstest
.rM)rr��charrrr�1test_multiple_emails_with_extended_command_length�s



�zXSMTPDChannelTestWithEnableSMTPUTF8True.test_multiple_emails_with_extended_command_lengthN)rrrr,rPr:rBrHr<rNrRrrrrr@�s

r@c@r )�MiscTestCasecCshd�}tj|t|d�dS)N>	�usage�Devnull�NEWLINE�Options�program�	parseargs�
COMMASPACEr|�DATA_SIZE_DEFAULT)�not_exported)r�check__all__r)rr\rrr�test__all__�szMiscTestCase.test__all__N)rrrr^rrrrrS�r%rS�__main__)&rur\�testrr�test.supportrrr)r~�warnings�catch_warnings�simplefilterr"rr*r	r�	Exceptionrr!�TestCaser&rRrirxr�r�rvrwr/r1r5r?r@rSr�mainrrrr�<module>sF

�"]%B`7*,X	�

Youez - 2016 - github.com/yon3zu
LinuXploit