+
    üÐjå  ã                   ó  € ^ RI t ^ RIHt ^ RIHt ^ RIHt RtRtRt	Rs
RsR	sR	sR	sR	sR	sR	sR	sR	sR	s R
t. ROtRtRtRtRtRtRtRtRtRtRt Rt!Rt"Rt# ! R R]PH                  4      t%Rt&R t'R t(R t)]*R8X  d
   ])! 4        R# R# ) é    N)Úreactor)ÚFactory)ÚbasicÚtestÚtwistediL  TFs(   +OK POP3 localhost v2003.83 server readyó   STLSó   UIDLs   -ERR Unknown requests   +OK Command Completeds   -ERR LOGIN faileds   +OK Mailbox open, 0 messagess*   -ERR server side error start TLS handshakes   +OK quit completeds'   -ERR Unknown AUHORIZATION state commands   +OK 0 0s    +OK Unique-ID listing follows
.s#   +OK Mailbox scan listing follows
.s   +OK Capability list follows:c                   ó`   a € ] tR t^5t o RR ltR tR tR tR tR t	R t
R	 tR
 tR tRtV tR# )ÚPOP3TestServerNc                ó<   € R V n         RV n        RV n        Wn        R# )FN)ÚloggedInÚcapsÚtmpUserÚctx)ÚselfÚcontextFactorys   &&ÚB/usr/lib/python3/dist-packages/twisted/mail/test/pop3testserver.pyÚ__init__ÚPOP3TestServer.__init__6   s   € ØˆŒØˆŒ	ØˆŒØ!Žó    c                ó0   € V P                  \        4       R # ©N)ÚsendLineÚSTAT©r   Úreqs   &&r   ÚsendSTATRespÚPOP3TestServer.sendSTATResp<   ó   € Ø�‰”dÖr   c                ó0   € V P                  \        4       R # r   )r   ÚUIDLr   s   &&r   ÚsendUIDLRespÚPOP3TestServer.sendUIDLResp?   r   r   c                ó0   € V P                  \        4       R # r   )r   ÚLISTr   s   &&r   ÚsendLISTRespÚPOP3TestServer.sendLISTRespB   r   r   c                ó   € V P                   f   \        .V n         \        '       d    V P                   P                  \        4       \
        '       d    V P                   P                  \        4       \         F  pV P                   P                  V4       K   	  RP                  V P                   4      pVR,          pV P                  V4       R # )Ns   
s   
.)
r   Ú	CAP_STARTÚUIDL_SUPPORTÚappendÚCAPABILITIES_UIDLÚSSL_SUPPORTÚCAPABILITIES_SSLÚCAPABILITIESÚjoinr   )r   ÚcapÚresps   &  r   ÚsendCapabilitiesÚPOP3TestServer.sendCapabilitiesE   s‰   € Ø�9‰9ÒÜ"˜ˆDŒIç‹<Ø�I‰I×ÑÔ.Ô/ç‹;Ø�I‰I×ÑÔ-Ô.çˆCØ�I‰I×Ñ˜SÖ!ñ  à�|‰|˜DŸI™IÓ&ˆØ�Õˆà�‰�dÖr   c                óÀ   € \         '       d   V P                  4        R # \        '       d$   \        P                  ! ^V P
                  4       R # V P                  4        R # r   )ÚDENY_CONNECTIONÚ
disconnectÚSLOW_GREETINGr   Ú	callLaterÚsendGreeting©r   s   &r   ÚconnectionMadeÚPOP3TestServer.connectionMadeV   s=   € ß‹?Ø�O‰OÔÙç‹=Ü×Ò˜b $×"3Ñ"3Ö4ð ×ÑÖr   c                ó0   € V P                  \        4       R # r   )r   ÚCONNECTION_MADEr;   s   &r   r:   ÚPOP3TestServer.sendGreetinga   s   € Ø�‰”oÖ&r   c                ó„  a€ VP                  4       oV3R lp\        '       d   R# \        '       d   V P                  4        R# V! R4      '       d6   \        '       d   V P                  \        4       R# V P                  4        R# V! R4      '       d   \        '       d   V P                  4        R# V! R4      '       d]   \        '       d   V P                  \        4       R# Rp VP                  R4      ^,          V n        \        pV P                  V4       R# V! R4      '       d}   Rp VP                  R4      ^,          pV P                  e   Vf   \        pM5V P                  \         8X  d   V\"        8X  d   \$        pRV n        M\        p V P                  V4       R# V! R	4      '       d/   R
V n        V P                  \(        4       V P                  4        R# \*        '       d   V P                  \        4       R# V P&                  '       g   V P                  \,        4       R# V! R4      '       d   V P                  \        4       R# V! R4      '       d&   \.        '       d   R# V P                  \0        4       R# V! R4      '       d&   \.        '       d   R# V P                  \2        4       R# V! R4      '       dI   \.        '       d   R# \4        '       g   V P                  \        4       R# V P                  \6        4       R# R#   \         d    \        p ELi ; i  \         d    \        p ELªi ; i)zError Conditionsc                 ó,   <€ SP                  V 4      R8g  # )é   éÿÿÿÿ)Úfind)ÚsÚulines   &€r   Ú<lambda>Ú-POP3TestServer.lineReceived.<locals>.<lambda>h   s   ø€ ˜Ÿ™ A›¨"Ò,r   Ns   CAPAr   ó   USERÚ s   PASSTs   QUITFs   NOOPs   STATs   LISTr	   )ÚupperÚTIMEOUT_RESPONSEÚDROP_CONNECTIONr7   ÚINVALID_CAPABILITY_RESPONSEr   ÚINVALID_RESPONSEr3   r-   ÚstartTLSÚINVALID_LOGIN_RESPONSEÚsplitr   ÚVALID_RESPONSEÚBaseExceptionÚAUTH_DECLINEDÚUSERÚPASSÚAUTH_ACCEPTEDr   ÚLOGOUT_COMPLETEÚINVALID_SERVER_RESPONSEÚNOT_LOGGED_INÚTIMEOUT_DEFERREDr   r%   r*   r!   )r   ÚlinerE   r2   ÚpwdrG   s   &&   @r   ÚlineReceivedÚPOP3TestServer.lineReceivedd   s*  ø€ ð —
‘
“ˆÜ,ˆçÓáç‹?Ø�O‰OÔÙá�'�]Š]ß*Ó*Ø—‘Ô.Ö/à×%Ñ%Ö'á�'�]Š]Ÿ{›{Ø�M‰MŽOá�'�]Š]ß%Ó%Ø—‘Ô.Ô/ÙàˆDð%Ø#Ÿz™z¨#›¨qÕ1�”Ü%�ð �M‰M˜$Öá�'�]Š]ØˆDð%Ø—j‘j “o aÕ(�à—<‘<Ò'¨3ª;Ü(‘DØ—\‘\¤TÔ)¨c´T¬kÜ(�DØ$(�D•Mä(‘Dð �M‰M˜$Öá�'�]Š]Ø!ˆDŒMØ�M‰Mœ/Ô*Ø�O‰OÖç$Ó$Ø�M‰MÔ*Ö+à——�Ø�M‰Mœ-Ö(á�'�]Š]Ø�M‰Mœ.Ö)á�'�]Š]ßÓÙØ�M‰Mœ$Öá�'�]Š]ßÓÙØ�M‰Mœ$Öá�'�]Š]ßÓÙß!“\Ø—‘Ô.Ô/Ùà�M‰Mœ$Öñ øô] !ô %Ü$“ð%ûô" !ô %Ü$“ð%ús0   Ã'#L Ä.0L* Å-L* ÆL* ÌL'Ì&L'Ì*L?Ì>L?c                óÌ   € \         '       dG   V P                  e9   V P                  R4       V P                  P	                  V P                  4       R # V P                  R4       R # )Ns   +OK Begin TLS negotiation nows   -ERR TLS not available)r-   r   r   Ú	transportrQ   r;   s   &r   rQ   ÚPOP3TestServer.startTLS»   s@   € ß‹;˜4Ÿ8™8Ò/Ø�M‰MÐ:Ô;Ø�N‰N×#Ñ# D§H¡HÖ-à�M‰MÐ3Ö4r   c                ó:   € V P                   P                  4        R # r   )rc   ÚloseConnectionr;   s   &r   r7   ÚPOP3TestServer.disconnectÂ   s   € Ø�‰×%Ñ%Ö'r   )r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r"   r&   r3   r<   r:   r`   rQ   r7   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r   5   s>   ø‡ € ô"òòòòò"	 ò'òU òn5÷(ð (r   r   aü  popServer.py [arg] (default is Standard POP Server with no messages)
no_ssl  - Start with no SSL support
no_uidl - Start with no UIDL support
bad_resp - Send a non-RFC compliant response to the Client
bad_cap_resp - send a non-RFC compliant response when the Client sends a 'CAPABILITY' request
bad_login_resp - send a non-RFC compliant response when the Client sends a 'LOGIN' request
deny - Deny the connection
drop - Drop the connection after sending the greeting
bad_tls - Send a bad response to a STARTTLS
timeout - Do not return a response to a Client request
to_deferred - Do not return a response on a 'Select' request. This
              will test Deferred callback handling
slow - Wait 20 seconds after the connection is made to return a Server Greeting
c                 ó*   € \        R V ,          4       R# )zServer Starting in %s modeN)Úprint)Úmsgs   &r   ÚprintMessagerr   Ö   s   € Ü	Ð
&¨Õ
,Ö-r   c                 óÜ  € V P                  4       R 8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs\        R	4       R# V P                  4       R
8X  d   Rs\        R	4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs	\        R4       R# V P                  4       R8X  d   Rs
\        R4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d   Rs\        R4       R# V P                  4       R8X  d'   \        \        4       \        P                   ! 4        R# \        \        4       \        P                   ! 4        R# )Úno_sslFzNON-SSLÚno_uidlzNON-UIDLÚbad_respTzInvalid Server ResponseÚbad_cap_respzInvalid Capability ResponseÚbad_login_respÚdenyzDeny ConnectionÚdropzDrop ConnectionÚbad_tlszBad TLS ResponseÚtimeoutzTimeout ResponseÚto_deferredzTimeout Deferred ResponseÚslowzSlow Greetingz--helpN)Úlowerr-   rr   r*   r[   rO   rR   r6   rN   ÚBAD_TLS_RESPONSErM   r]   r8   rp   ÚusageÚsysÚexit)Úargs   &r   Ú
processArgr…   Ú   sj  € Ø
‡y�yƒ{�hÔàˆÜ�YÖà	�‰‹˜	Ô	!àˆÜ�ZÖ à	�‰‹˜
Ô	"à"&ÐÜÐ.Ö/à	�‰‹˜Ô	&à&*Ð#ÜÐ2Ö3à	�‰‹Ð(Ô	(à!%ÐÜÐ2Ö3à	�‰‹˜Ô	àˆÜÐ&Ö'à	�‰‹˜Ô	àˆÜÐ&Ö'à	�‰‹˜	Ô	!àÐÜÐ'Ö(à	�‰‹˜	Ô	!àÐÜÐ'Ö(à	�‰‹˜Ô	%àÐÜÐ0Ö1à	�‰‹˜Ô	àˆÜ�_Ö%à	�‰‹˜Ô	 ÜŒeŒÜ�ŠŽ
ô 	ŒeŒÜ�ŠŽ
r   c                  ó:  € \        \        P                  4      ^8  d   \        R4       M+\        P                  R,          p V  F  p\	        V4       K  	  \        4       p\        Vn        \        P                  ! \        V4       \        P                  ! 4        R# )é   zPOP3 with no messages:rC   NNN)Úlenr‚   Úargvrr   r…   r   r   Úprotocolr   Ú	listenTCPÚPORTÚrun)Úargsr„   Úfs      r   Úmainr�     sb   € Ü
Œ3�8‰8ƒ}�qÔÜÐ,Õ-ä�x‰x˜�|ˆãˆCÜ�sŽOñ ô 	‹	€AÜ€A„JÜ×Ò”d˜AÔÜ‡K‚K†Mr   Ú__main__)s   TOPs   LOGIN-DELAY 180rJ   s
   SASL LOGIN)+r‚   Útwisted.internetr   Útwisted.internet.protocolr   Útwisted.protocolsr   rW   rX   rŒ   r-   r*   r[   rO   rR   r6   rN   r€   rM   r]   r8   r?   r/   r.   r,   rP   rT   rV   rY   Ú	TLS_ERRORrZ   r\   r   r!   r%   r)   ÚLineReceiverr   r�   rr   r…   r�   rh   © r   r   Ú<module>r˜      sò   ðó å $Ý -Ý #à€Ø€à€à€Ø€ØÐ Ø#Ð ØÐ Ø€Ø€ØÐ ØÐ ØÐ Ø€à Ø=€âC€àÐ ØÐ ð +Ð Ø)€Ø$€Ø/€Ø9€	Ø'€Ø:€Ø€Ø,€Ø/€Ø+€	ôN(�U×'Ñ'ô N(ðb	€ò .ò>òBð ˆzÔÙ†Fñ r   