File: //proc/self/root/lib64/python2.7/Demo/threads/telnet.pyo
�
V
�Qc           @   s�   d  d l  Z  d  d l Z d  d l Z d  d l Td  d l Z d
 Z e d � Z e d � Z e d � Z	 e d � Z
 e d	 � Z d
 �  Z d �  Z
 d �  Z e �  d S(   i����N(   t   *i   i   i�   i�   i�   i�   i�   c          C   s�  t  t j � d k  r5 t j j d � t j d � n  t j d }  y t |  � } Wn9 t k
 r� t j j t j d d � t j d � n Xt  t j � d k r� t j d } n d } d | d  k o� d k n r� t | � } nH y t	 | d � } Wn2 t k
 r/t j j | d	 � t j d � n Xt
 t t � } y | j
 |  | f � Wn7 t k
 r�} t j j d
 | f � t j d � n Xt j t | f � t | � d  S(   Ni   s   usage: telnet hostname [port]
i   s   : bad host name
t   telnett   0t   9t   tcps   : bad tcp service name
s   connect failed: %r
(   t   lent   syst   argvt   stderrt   writet   exitt
   gethostbynamet   errort   evalt
   getservbynamet   sockett   AF_INETt   SOCK_STREAMt   connectt   threadt	   start_newt   childt   parent(   t   hostt   hostaddrt   servnamet   portt   st   msg(    (    s+   /usr/lib64/python2.7/Demo/threads/telnet.pyt   main   s6    
 
c         C   sv  d } d } xc|  j  t � \ } } | sJ t j j d � t j d � n  d } x� | D]� } | r� t | � GH|  j | | � d } qW | r+d } | t k r� | | } qN| t	 t
 f k r� | t	 k r� d Gn d Gt t } qN| t t f k r| t k rd Gn d Gt t
 } qNd	 Gt | � GHqW | t k rDd } d
 GqW | | } qW Wt j
 j | � t j
 j �  q d  S(   Ni    t    s   (Closed by remote host)
i   s   (DO)s   (DONT)s   (WILL)s   (WONT)s	   (command)s   (IAC)(   t   recvfromt   BUFSIZER   R   R	   R
   t   ordt   sendt   IACt   DOt   DONTt   WONTt   WILLt   stdoutt   flush(   R   t   iact   optt   datat   dummyt	   cleandatat   c(    (    s+   /usr/lib64/python2.7/Demo/threads/telnet.pyR   B   sD    
	
 
 
c         C   s0   x) t  j j �  } | s Pn  |  j | � q d  S(   N(   R   t   stdint   readlineR"