<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]}9                 @   s  d  d l  Z  d  d l Z d  d l Z y d  d l Z d Z Wn e k
 rT d Z Yn Xd d g Z Gd d   d e  Z d Z	 d Z
 d	 Z d
 Z e e Z d Z Gd d   d  Z e r Gd d   d e  Z e j d  e d k rd  d l Z e e j d  Z e e j    e j e j d  e j e j d  e j   e j   \ Z Z xj e d e d  D]U Z e j  e  \ Z! Z" Z# e d e  x e" D] Z$ e d e$  qWe d  qnWe j%   d S)    NTFPOP3error_protoc               @   s   e  Z d  Z d S)r   N)__name__
__module____qualname__ r   r   +/opt/alt/python35/lib64/python3.5/poplib.pyr      s    n   i  s   s   
i   c               @   s  e  Z d  Z d Z e e j d d  Z d d   Z d d   Z	 d d	   Z
 d
 d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d d   Z d! d"   Z d# d$   Z d% d&   Z d' d(   Z d) d*   Z d+ d,   Z d- d.   Z e j d/  Z d0 d1   Z  d2 d3   Z! d d4 d5  Z" d6 d7   Z# d8 d9   Z$ d d: d;  Z% d S)<r   zUTF-8c             C   s^   | |  _  | |  _ d |  _ |  j |  |  _ |  j j d  |  _ d |  _ |  j   |  _	 d  S)NFrbr   )
hostport_tls_established_create_socketsockmakefilefile
_debugging_getrespwelcome)selfr   r   timeoutr   r   r   __init__a   s    				zPOP3.__init__c             C   s   t  j |  j |  j f |  S)N)socketcreate_connectionr   r   )r   r   r   r   r   r   k   s    zPOP3._create_socketc             C   s:   |  j  d k r" t d t |   |  j j | t  d  S)N   z*put*)r   printreprr   sendallCRLF)r   liner   r   r   _putlinen   s     zPOP3._putlinec             C   s?   |  j  r t d t |   t | |  j  } |  j |  d  S)Nz*cmd*)r   r   r   bytesencodingr    )r   r   r   r   r   _putcmdu   s    	 zPOP3._putcmdc             C   s   |  j  j t d  } t |  t k r4 t d   |  j d k rV t d t |   | sh t d   t |  } | d d   t k r | d  d  | f S| d  d  t	 k r | d d  | f S| d  d	  | f S)
Nr   zline too longz*get*z-ERR EOF   r%   r&   )
r   readline_MAXLINElenr   r   r   r   r   CR)r   r   octetsr   r   r   _getline   s      zPOP3._getlinec             C   sS   |  j    \ } } |  j d k r4 t d t |   | j d  sO t |   | S)Nr   z*resp*   +)r,   r   r   r   
startswithr   )r   respor   r   r   r      s     zPOP3._getrespc             C   s   |  j    } g  } d } |  j   \ } } xb | d k r | j d  rb | d } | d d   } | | } | j |  |  j   \ } } q- W| | | f S)Nr      .s   ..r   )r   r,   r.   append)r   r/   listr+   r   r0   r   r   r   _getlongresp   s     

zPOP3._getlongrespc             C   s   |  j  |  |  j   S)N)r#   r   )r   r   r   r   r   	_shortcmd   s    zPOP3._shortcmdc             C   s   |  j  |  |  j   S)N)r#   r4   )r   r   r   r   r   _longcmd   s    zPOP3._longcmdc             C   s   |  j  S)N)r   )r   r   r   r   
getwelcome   s    zPOP3.getwelcomec             C   s   | |  _  d  S)N)r   )r   levelr   r   r   set_debuglevel   s    zPOP3.set_debuglevelc             C   s   |  j  d |  S)NzUSER %s)r5   )r   userr   r   r   r:      s    z	POP3.userc             C   s   |  j  d |  S)NzPASS %s)r5   )r   Zpswdr   r   r   pass_   s    z
POP3.pass_c             C   sa   |  j  d  } | j   } |  j r7 t d t |   t | d  } t | d  } | | f S)NZSTATz*stat*r   r$   )r5   splitr   r   r   int)r   ZretvalZretsZnumMessagesZsizeMessagesr   r   r   stat   s    	 z	POP3.statNc             C   s*   | d  k	 r |  j  d |  S|  j d  S)NzLIST %sLIST)r5   r6   )r   whichr   r   r   r3      s    	z	POP3.listc             C   s   |  j  d |  S)NzRETR %s)r6   )r   r@   r   r   r   retr   s    z	POP3.retrc             C   s   |  j  d |  S)NzDELE %s)r5   )r   r@   r   r   r   dele   s    z	POP3.delec             C   s   |  j  d  S)NZNOOP)r5   )r   r   r   r   noop  s    z	POP3.noopc             C   s   |  j  d  S)NZRSET)r5   )r   r   r   r   rset  s    z	POP3.rsetc             C   s   |  j  d  } |  j   | S)NZQUIT)r5   close)r   r/   r   r   r   quit  s    
z	POP3.quitc             C   s   z, |  j  } d  |  _  | d  k	 r+ | j   Wd  |  j } d  |  _ | d  k	 r zm y | j t j  WnR t k
 r } z2 | j t j k r t	 | d d  d k r   WYd  d  } ~ Xn XWd  | j   XXd  S)Nwinerrorr   i&'  )
r   rE   r   shutdownr   	SHUT_RDWROSErrorerrnoZENOTCONNgetattr)r   r   r   excr   r   r   rE     s    				z
POP3.closec             C   s   |  j  d |  S)NzRPOP %s)r5   )r   r:   r   r   r   rpop2  s    z	POP3.rpops   \+OK.[^<]*(<.*>)c             C   s   t  | |  j  } |  j j |  j  } | s9 t d   d d  l } | j d  | } | j |  j	   } |  j
 d | | f  S)Nz!-ERR APOP not supported by serverr   r   z
APOP %s %s)r!   r"   	timestampmatchr   r   hashlibgroupmd5	hexdigestr5   )r   r:   ZpasswordZsecretmrQ   digestr   r   r   apop9  s    z	POP3.apopc             C   s   |  j  d | | f  S)Nz	TOP %s %s)r6   )r   r@   Zhowmuchr   r   r   topN  s    zPOP3.topc             C   s*   | d  k	 r |  j  d |  S|  j d  S)NzUIDL %sZUIDL)r5   r6   )r   r@   r   r   r   uidlW  s    z	POP3.uidlc             C   s   |  j  d  S)NZUTF8)r5   )r   r   r   r   utf8c  s    z	POP3.utf8c       	      C   s   d d   } i  } yJ |  j  d  } | d } x* | D]" } | |  \ } } | | | <q5 WWn1 t k
 r } z t d   WYd  d  } ~ Xn X| S)Nc             S   s-   |  j  d  j   } | d | d d   f S)Nasciir   r   )decoder<   )r   Zlstr   r   r   	_parsecapv  s    zPOP3.capa.<locals>._parsecapZCAPAr   z!-ERR CAPA not supported by server)r6   r   )	r   r]   capsr/   ZrawcapsZcaplineZcapnmZcapargsZ_errr   r   r   capai  s    
z	POP3.capac             C   s   t  s t d   |  j r' t d   |  j   } d | k rK t d   | d  k rc t j   } |  j d  } | j |  j d |  j	 |  _ |  j j
 d  |  _ d |  _ | S)Nz-ERR TLS support missingz$-ERR TLS session already establishedZSTLSz!-ERR STLS not supported by serverserver_hostnamer
   T)HAVE_SSLr   r   r_   ssl_create_stdlib_contextr5   wrap_socketr   r   r   r   )r   contextr^   r/   r   r   r   stls  s    		z	POP3.stls)&r   r   r   r"   	POP3_PORTr   _GLOBAL_DEFAULT_TIMEOUTr   r   r    r#   r,   r   r4   r5   r6   r7   r9   r:   r;   r>   r3   rA   rB   rC   rD   rF   rE   rN   recompilerO   rW   rX   rY   rZ   r_   rf   r   r   r   r   r   2   s>   -	


	c               @   sO   e  Z d  Z e d d e j d d d  Z d d   Z d d d d d  Z d S)POP3_SSLNc             C   s   | d  k	 r$ | d  k	 r$ t  d   | d  k	 rH | d  k	 rH t  d   | |  _ | |  _ | d  k r~ t j d | d |  } | |  _ t j |  | | |  d  S)Nz4context and keyfile arguments are mutually exclusivez5context and certfile arguments are mutually exclusivecertfilekeyfile)
ValueErrorrm   rl   rb   rc   re   r   r   )r   r   r   rm   rl   r   re   r   r   r   r     s    				zPOP3_SSL.__init__c             C   s1   t  j |  |  } |  j j | d |  j } | S)Nr`   )r   r   re   rd   r   )r   r   r   r   r   r   r     s    zPOP3_SSL._create_socketc             C   s   t  d   d  S)Nz$-ERR TLS session already established)r   )r   rm   rl   re   r   r   r   rf     s    zPOP3_SSL.stls)	r   r   r   POP3_SSL_PORTr   rh   r   r   rf   r   r   r   r   rk     s   	rk   __main__r   r$      zMessage %d:z   z-----------------------)&rK   ri   r   rb   ra   ImportError__all__	Exceptionr   rg   ro   r*   ZLFr   r(   r   rk   r2   r   sysargvar   r7   r:   r;   r3   r>   ZnumMsgsZ	totalSizerangeirA   headermsgr+   r   rF   r   r   r   r   <module>   sF   

 k,
