3 �L�j�:� @shddlZddlZddlZyddlZdZWnek r@dZYnXddgZGdd�de�ZdZ dZ d Z d Z e e Z d ZGd d�d�Zer�Gd d�de�Zejd�edk�rdddlZeejd�Zeej��ejejd�ejejd�ej�ej�\ZZxXeded�D]FZej e�\Z!Z"Z#ede�xe"D]Z$ede$��q8Wed��qWej%�dS)�NTF�POP3� error_protoc@s eZdZdS)rN)�__name__� __module__� __qualname__�rr�/usr/lib64/python3.6/poplib.pyrs�ni�� � ic@seZdZdZeejfdd�Zdd�Zdd�Z dd �Z d d �Z d d �Z dd�Z dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd:d;�Z%dS)?rzUTF-8cCs@||_||_d|_|j|�|_|jjd�|_d|_|j�|_ dS)NF�rbr) �host�port�_tls_established�_create_socket�sock�makefile�file� _debugging�_getresp�welcome)�selfr r�timeoutrrr�__init__as z POP3.__init__cCstj|j|jf|�S)N)�socketZcreate_connectionr r)rrrrrrkszPOP3._create_socketcCs,|jdkrtdt|��|jj|t�dS)N�z*put*)r�print�reprrZsendall�CRLF)r�linerrr�_putlinens z POP3._putlinecCsB|jrtdt|��t||j�}tjd|�r4td��|j|�dS)Nz*cmd*s[-]z*Control characters not allowed in commands) rrr�bytes�encoding�re�search� ValueErrorr )rrrrr�_putcmdus   z POP3._putcmdcCs�|jjtd�}t|�tkr$td��|jdkr)cCs\t||j�}|jj|j�}|s&td��ddl}|jd�|}|j|�j �}|j d||f�S)Nz!-ERR APOP not supported by serverrrz APOP %s %s) r!r"� timestamp�matchrr�hashlib�groupZmd5Z hexdigestr8)rr=ZpasswordZsecret�mrPZdigestrrr�apop;s z POP3.apopcCs|jd||f�S)Nz TOP %s %s)r9)rrBZhowmuchrrr�topPszPOP3.topcCs |dk r|jd|�S|jd�S)NzUIDL %sZUIDL)r8r9)rrBrrr�uidlYsz POP3.uidlcCs |jd�S)NZUTF8)r8)rrrr�utf8esz POP3.utf8c Cstdd�}i}y8|jd�}|d}x |D]}||�\}}|||<q&WWn*tk rn}ztd��WYdd}~XnX|S)NcSs"|jd�j�}|d|dd�fS)N�asciirr)�decoder?)rZlstrrr� _parsecapxszPOP3.capa.._parsecapZCAPArz!-ERR CAPA not supported by server)r9r) rrY�capsr2ZrawcapsZcaplineZcapnmZcapargsZ_errrrr�capaks    z POP3.capacCsxts td��|jrtd��|j�}d|kr2td��|dkrBtj�}|jd�}|j|j|j d�|_|jj d�|_ d|_|S)Nz-ERR TLS support missingz$-ERR TLS session already establishedZSTLSz!-ERR STLS not supported by server)�server_hostnamer T) �HAVE_SSLrrr[�ssl�_create_stdlib_contextr8� wrap_socketrr rr)r�contextrZr2rrr�stls�s  z POP3.stls)N)N)N)&rrrr"� POP3_PORTr�_GLOBAL_DEFAULT_TIMEOUTrrr r&r/rr7r8r9r:r<r=r>rAr6rCrDrErFrHrGrMr#�compilerNrSrTrUrVr[rbrrrrr2s>-       c@s4eZdZeddejdfdd�Zdd�Zddd�ZdS) �POP3_SSLNcCs�|dk r|dk rtd��|dk r0|dk r0td��|dk s@|dk rVddl}|jdtd�||_||_|dkrxtj||d�}||_t j ||||�dS)Nz4context and keyfile arguments are mutually exclusivez5context and certfile arguments are mutually exclusiverzAkeyfile and certfile are deprecated, use a custom context insteadr')�certfile�keyfile) r%�warnings�warn�DeprecationWarningrhrgr^r_rarr)rr rrhrgrrarirrrr�szPOP3_SSL.__init__cCs"tj||�}|jj||jd�}|S)N)r\)rrrar`r )rrrrrrr�s  zPOP3_SSL._create_socketcCs td��dS)Nz$-ERR TLS session already established)r)rrhrgrarrrrb�sz POP3_SSL.stls)NNN) rrr� POP3_SSL_PORTrrdrrrbrrrrrf�srf�__main__rr'�z Message %d:z z-----------------------)&rJr#rr^r]� ImportError�__all__� Exceptionrrcrlr-ZLFrr+rrfr5r�sys�argv�arr:r=r>r6rAZnumMsgsZ totalSize�range�irC�header�msgr.rrHrrrr�sH n0