;
Ìâ"Ic            #   @   s(  d  d l  Z  d  d l Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z e Z y d  d l Z Wn e k
 o e Z Yn Xe j Z e a e a d „  Z Gd „  d e j ƒ Z Gd „  d e j ƒ Z  y d  d l! Z! Wn e k
 o e Z" YnŠ Xe Z" Gd	 „  d
 e! j# ƒ Z$ Gd „  d e! j# ƒ Z% Gd „  d e! j# ƒ Z& d „  Z' e d e e d „ Z( e d „ Z) Gd „  d e j ƒ Z* e d „ Z+ e, d k o e+ ƒ  n d S(   i    N(   u   support(   u
   HTTPServeru   SimpleHTTPRequestHandlerc             C   sD   d j  t j t j ƒ  Œ  ƒ } t j o t j j |  | ƒ n d  S(   Nu    (	   u   joinu	   tracebacku   format_exceptionu   sysu   exc_infou   supportu   verboseu   stdoutu   write(   u   prefixu
   exc_format(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_error   s    
c             B   s;   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sÛ   t  j d ƒ p d  St j t j t j ƒ d t j ƒ} | j d ƒ | j ƒ  } | o t  j	 d ƒ ‚ n | j
 ƒ  t j t j t j ƒ d t j ƒ} z/ y | j d ƒ Wn t j k
 o Yn XWd  | j
 ƒ  Xd  S(   Nu   networku	   cert_reqsu   svn.python.orgi»  u   Peer cert %s shouldn't be here!(   u   svn.python.orgi»  (   u   svn.python.orgi»  (   u   supportu   is_resource_enabledu   sslu   wrap_socketu   socketu   AF_INETu	   CERT_NONEu   connectu   getpeercertu
   TestFailedu   closeu   CERT_REQUIREDu   SSLError(   u   selfu   su   c(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testSSLconnect'   s"    
 
c             C   s5   t  j t  j t  j t  j t  j t  j t  j d  S(   N(   u   sslu   PROTOCOL_SSLv2u   PROTOCOL_SSLv23u   PROTOCOL_SSLv3u   PROTOCOL_TLSv1u	   CERT_NONEu   CERT_OPTIONALu   CERT_REQUIRED(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testCrucialConstants<   s    c          	   C   sˆ   t  j ƒ  } t j o, t j j d | | o d p d f ƒ n y t  j d ƒ Wn t k
 o Yn Xt	 d ƒ t  j
 d d ƒ d  S(   Nu   
 RAND_status is %d (%s)
u   sufficient randomnessu   insufficient randomnessi   u   didn't raise TypeErroru   this is a random stringg     ÀR@(   u   sslu   RAND_statusu   supportu   verboseu   sysu   stdoutu   writeu   RAND_egdu	   TypeErroru   printu   RAND_add(   u   selfu   v(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testRANDE   s    

c             C   sH   t  j j t d ƒ } t j o% t j j	 d t
 j | ƒ d ƒ n d  S(   Nu   
F(   u   sslu   _sslu   _test_decode_certu   CERTFILEu   Falseu   supportu   verboseu   sysu   stdoutu   writeu   pprintu   pformat(   u   selfu   p(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testParseCertS   s    
c             C   sf   t  t d ƒ j ƒ  } t j | ƒ } t j | ƒ } t j | ƒ } | | k o t j d ƒ ‚ n d  S(   Nu   ru+   PEM-to-DER or DER-to-PEM translation failed(   u   openu   SVN_PYTHON_ORG_ROOT_CERTu   readu   sslu   PEM_cert_to_DER_certu   DER_cert_to_PEM_certu   supportu
   TestFailed(   u   selfu   pemu   d1u   p2u   d2(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testDERtoPEM[   s    N(   u   __name__u
   __module__u   testSSLconnectu   testCrucialConstantsu   testRANDu   testParseCertu   testDERtoPEM(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu
   BasicTests%   s
   
					u
   BasicTestsc             B   s)   |  Ee  Z d  „  Z d „  Z d „  Z d S(   c             C   sS  t  j t j t j ƒ d t  j ƒ} | j d ƒ | j ƒ  } | o t j d ƒ ‚ n | j	 ƒ  t  j t j t j ƒ d t  j
 ƒ} z/ y | j d ƒ Wn t  j k
 o Yn XWd  | j	 ƒ  Xt  j t j t j ƒ d t  j
 d t ƒ} zU y | j d	 ƒ Wn= t  j k
 o. } z t j d | ƒ ‚ WYd  d  } ~ Xn XWd  | j	 ƒ  Xd  S(
   Nu	   cert_reqsu   svn.python.orgi»  u   Peer cert %s shouldn't be here!u   ca_certsu   Unexpected exception %s(   u   svn.python.orgi»  (   u   svn.python.orgi»  (   u   svn.python.orgi»  (   u   sslu   wrap_socketu   socketu   AF_INETu	   CERT_NONEu   connectu   getpeercertu   supportu
   TestFailedu   closeu   CERT_REQUIREDu   SSLErroru   SVN_PYTHON_ORG_ROOT_CERT(   u   selfu   su   cu   x(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testConnectf   s0    
 
		 +c             C   s1  t  j  t  j ƒ } | j d ƒ | j d	 ƒ t j | d t j d d	 ƒ} d } x® y | d 7} | j ƒ  PWqS t j	 k
 o€ } zj | j
 d t j k o t j | g g  g  ƒ n5 | j
 d t j k o t j g  | g g  ƒ n ‚  WYd  d  } ~ XqS XqS | j ƒ  t j o t j j d | ƒ n d  S(
   Nu   svn.python.orgi»  u	   cert_reqsu   do_handshake_on_connecti    i   u9   
Needed %d calls to do_handshake() to establish session.
(   u   svn.python.orgi»  F(   u   socketu   AF_INETu   connectu   setblockingu   Falseu   sslu   wrap_socketu	   CERT_NONEu   do_handshakeu   SSLErroru   argsu   SSL_ERROR_WANT_READu   selectu   SSL_ERROR_WANT_WRITEu   closeu   supportu   verboseu   sysu   stdoutu   write(   u   selfu   su   countu   err(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testNonBlockingHandshake„   s*    		



c             C   sý   t  j d ƒ } | p t j d ƒ ‚ n d  Sy t  j d	 d t ƒ} WnL t  j k
 o= } z' t j o t j j	 d | ƒ n WYd  d  } ~ Xn Xt j d | ƒ ‚ t  j d
 d t
 ƒ} | p t j d ƒ ‚ n t j o t j j	 d | ƒ n d  S(   Nu   svn.python.orgi»  u,   No server certificate on svn.python.org:443!u   ca_certsu   %s
u-   Got server certificate %s for svn.python.org!u3   
Verified certificate for svn.python.org:443 is
%s
(   u   svn.python.orgi»  (   u   svn.python.orgi»  (   u   svn.python.orgi»  (   u   sslu   get_server_certificateu   supportu
   TestFailedu   CERTFILEu   SSLErroru   verboseu   sysu   stdoutu   writeu   SVN_PYTHON_ORG_ROOT_CERT(   u   selfu   pemu   x(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testFetchServerCertœ   s    
,
N(   u   __name__u
   __module__u   testConnectu   testNonBlockingHandshakeu   testFetchServerCert(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   NetworkedTestsd   s   
		u   NetworkedTestsc             B   s`   |  Ee  Z Gd  „  d e j ƒ Z d d d d d d d d „ Z d d „ Z	 d „  Z
 d „  Z d S(	   c             B   sJ   |  Ee  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   uÂ   A mildly complicated class, because we want it to work both
            with and without the SSL wrapper around the socket connection, so
            that we can test the STARTTLS functionality.c             C   sZ   | |  _  d |  _ | |  _ | |  _ |  j j d ƒ d  |  _ t j	 j
 |  ƒ d |  _ d  S(   Ni   FT(   u   serveru   Falseu   runningu   socku   addru   setblockingu   Noneu   sslconnu	   threadingu   Threadu   __init__u   Trueu   daemon(   u   selfu   serveru   connsocku   addr(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__Ä   s    					c             C   sÁ  yO t  j |  j d d d |  j j d |  j j d |  j j d |  j j ƒ|  _	 Wni |  j j
 o t d t |  j ƒ d ƒ n |  j j p d |  _ |  j j ƒ  n |  j ƒ  d SYnX|  j j t  j k o  |  j	 j ƒ  } t j o2 |  j j
 o% t j j d t j | ƒ d	 ƒ n |  j	 j d ƒ } t j o5 |  j j
 o( t j j d
 t t | ƒ ƒ d ƒ qqn |  j	 j ƒ  } t j o/ |  j j
 o" t j j d t | ƒ d	 ƒ n d Sd  S(   Nu   server_sideu   certfileu   ssl_versionu   ca_certsu	   cert_reqsu'   
 server:  bad connection attempt from u   :
u    client cert is u   
u    cert binary is u    bytes
u"    server: connection cipher is now TF(   u   sslu   wrap_socketu   socku   Trueu   serveru   certificateu   protocolu   cacertsu   certreqsu   sslconnu   chattyu   handle_erroru   repru   addru   expect_bad_connectsu   Falseu   runningu   stopu   closeu   CERT_REQUIREDu   getpeercertu   supportu   verboseu   sysu   stdoutu   writeu   pprintu   pformatu   stru   lenu   cipher(   u   selfu   certu   cert_binaryu   cipher(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu	   wrap_connÎ   s2    	
	%,"c             C   s,   |  j  o |  j  j ƒ  S|  j j d ƒ Sd  S(   Ni   (   u   sslconnu   readu   socku   recv(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   readï   s    
c             C   s/   |  j  o |  j  j | ƒ S|  j j | ƒ Sd  S(   N(   u   sslconnu   writeu   socku   send(   u   selfu   bytes(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   writeõ   s    
c             C   s,   |  j  o |  j  j ƒ  n |  j j ƒ  d  S(   N(   u   sslconnu   closeu   sock(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   closeû   s    
c             C   sø  d |  _ |  j j p |  j ƒ  p d  Sn xÅ|  j oºyP|  j ƒ  } | o t | d d ƒ p d } | p d |  _ |  j ƒ  n| j	 ƒ  d k o: t
 j o! |  j j o t j j d ƒ n |  j ƒ  d  S|  j j om | j	 ƒ  d k oZ t
 j o! |  j j o t j j d ƒ n |  j d j d d ƒ ƒ |  j ƒ  p d  Sn<|  j j o« |  j o¡ | j	 ƒ  d	 k oŽ t
 j o! |  j j o t j j d
 ƒ n |  j d j d d ƒ ƒ |  j j ƒ  |  _ d  |  _ t
 j o! |  j j o t j j d ƒ qˆn„ t
 j oZ |  j j oM |  j o d p d } t j j d t | ƒ | t | j ƒ  ƒ | f ƒ n |  j | j ƒ  j d d ƒ ƒ Wq/ t j k
 oC |  j j o t d ƒ n |  j ƒ  d |  _ |  j j ƒ  Yq/ t d ƒ Yq/ Xq/ Wd  S(   Nu   ASCIIu   strictu    u   overu"    server: client closed connection
u   STARTTLSu2    server: read STARTTLS from client, sending OK...
u   OK
u   ENDTLSu0    server: read ENDTLS from client, sending OK...
u*    server: connection is now unencrypted...
u	   encryptedu   unencryptedu/    server: read %s (%s), sending back %s (%s)...
u   Test server failure:
TF(   u   Trueu   runningu   serveru   starttls_serveru	   wrap_connu   readu   stru   Falseu   closeu   stripu   supportu   verboseu   connectionchattyu   sysu   stdoutu   writeu   encodeu   sslconnu   unwrapu   socku   Noneu   repru   loweru   socketu   erroru   chattyu   handle_erroru   stop(   u   selfu   msgu   amsgu   ctype(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   run  s^    		 
 	
		
*#
	N(	   u   __name__u
   __module__u   __doc__u   __init__u	   wrap_connu   readu   writeu   closeu   run(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   ConnectionHandler¾   s   
	
	!			u   ConnectionHandlerc	       	      C   sÏ   | d  k o t j } n | d  k o t j } n | |  _ | |  _ | |  _ | |  _ | |  _ | |  _	 | |  _
 | |  _ t j ƒ  |  _ t j |  j ƒ |  _ d  |  _ d |  _ t j j |  ƒ d |  _ d  S(   NFT(   u   Noneu   sslu   PROTOCOL_TLSv1u	   CERT_NONEu   certificateu   protocolu   certreqsu   cacertsu   expect_bad_connectsu   chattyu   connectionchattyu   starttls_serveru   socketu   socku   supportu	   bind_portu   portu   flagu   Falseu   activeu	   threadingu   Threadu   __init__u   Trueu   daemon(	   u   selfu   certificateu   ssl_versionu   certreqsu   cacertsu   expect_bad_connectsu   chattyu   connectionchattyu   starttls_server(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__5  s$    										c             C   s   | |  _  t j j |  ƒ d  S(   N(   u   flagu	   threadingu   Threadu   start(   u   selfu   flag(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   startK  s    	c          
   C   s+  |  j  j d ƒ |  j  j d ƒ d |  _ |  j o |  j j ƒ  n xÓ |  j oÈ yn |  j  j ƒ  \ } } t j	 o, |  j
 o" t j j d t | ƒ d ƒ n |  j |  | | ƒ } | j ƒ  WqG t j k
 o YqG t k
 o |  j ƒ  YqG |  j
 o t d ƒ n YqG XqG W|  j  j ƒ  d  S(   Ng      à?i   u    server:  new connection from u   
u   Test server failure:
T(   u   socku
   settimeoutu   listenu   Trueu   activeu   flagu   setu   acceptu   supportu   verboseu   chattyu   sysu   stdoutu   writeu   repru   ConnectionHandleru   startu   socketu   timeoutu   KeyboardInterruptu   stopu   handle_erroru   close(   u   selfu   newconnu   connaddru   handler(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   runO  s,    	
 
	
c             C   s   d |  _ d  S(   NF(   u   Falseu   active(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   stopg  s    NFT(   u   __name__u
   __module__u	   threadingu   Threadu   ConnectionHandleru   Noneu   Falseu   Trueu   __init__u   startu   runu   stop(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   ThreadedEchoServer¼   s   
w		u   ThreadedEchoServerc             B   sd   |  Ee  Z Gd  „  d e ƒ Z Gd „  d e ƒ Z d „  Z d „  Z d	 d „ Z	 d „  Z
 d „  Z d	 S(
   c             B   sD   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sA   t  j |  | | ƒ | |  _ d |  _ t j ƒ  |  _ d |  _	 d  S(   NFT(
   u
   HTTPServeru   __init__u   certfileu   Falseu   activeu	   threadingu   Locku   active_locku   Trueu   allow_reuse_address(   u   selfu   server_addressu   RequestHandlerClassu   certfile(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__p  s
    		c             C   s   d |  j  j |  j |  j f S(   Nu
   <%s %s:%s>(   u	   __class__u   __name__u   server_nameu   server_port(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __str__y  s    	c             C   s=   |  j  j ƒ  \ } } t j | d d d |  j ƒ} | | f S(   Nu   server_sideu   certfileT(   u   socketu   acceptu   sslu   wrap_socketu   Trueu   certfile(   u   selfu   socku   addru   sslconn(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   get_request  s    c             C   s!   |  j  j d ƒ t j |  ƒ d  S(   Ng      à?(   u   socketu
   settimeoutu
   HTTPServeru   server_activate(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   server_activateŠ  s    c             C   sË   d |  _ x» y@ |  j j } j ƒ  z |  j p Pn |  j ƒ  Wd  | ~ QXWnh t j k
 o YnS t k
 o |  j	 ƒ  d  SYn2 t
 j j d j t j t
 j ƒ  Œ  ƒ ƒ PYn Xt j d ƒ q d  S(   Nu    gš™™™™™¹?T(   u   Trueu   activeu   active_locku   __exit__u	   __enter__u   handle_requestu   socketu   timeoutu   KeyboardInterruptu   server_closeu   sysu   stdoutu   writeu   joinu	   tracebacku   format_exceptionu   exc_infou   timeu   sleep(   u   selfu   _[1](    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   serve_forever‘  s     	

	(c             C   s=   |  j  j } j ƒ  z t j |  ƒ d |  _ Wd  | ~ QXd  S(   NF(   u   active_locku   __exit__u	   __enter__u
   HTTPServeru   server_closeu   Falseu   active(   u   selfu   _[1](    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   server_close©  s    N(   u   __name__u
   __module__u   __init__u   __str__u   get_requestu   server_activateu   serve_foreveru   server_close(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   HTTPSServern  s   
						u   HTTPSServerc             B   s,   |  Ee  Z d  Z d Z d „  Z d „  Z d S(   u   TestHTTPS/1.0c             C   sÌ   t  j j | ƒ d } t j j t  j j | ƒ ƒ } | j d ƒ } t d | ƒ } |  j
 } xj | D]b } t j j | ƒ \ } } t j j | ƒ \ } } | |  j
 k o qb n t j j | | ƒ } qb W| S(   u  Translate a /-separated PATH to the local filename syntax.

                Components that mean special things to the local file system
                (e.g. drive or directory names) are ignored.  (XXX They should
                probably be diagnosed.)

                i   u   /N(   u   urllibu   parseu   urlparseu   osu   pathu   normpathu   unquoteu   splitu   filteru   Noneu   rootu
   splitdriveu   join(   u   selfu   pathu   wordsu   wordu   driveu   head(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   translate_path»  s    		  c             G   sT   t  j oF t j j d |  j j |  j j |  j j	 ƒ  |  j
 ƒ  | | f ƒ n d  S(   Nu    server (%s:%d %s):
   [%s] %s
(   u   supportu   verboseu   sysu   stdoutu   writeu   serveru   server_addressu   server_portu   requestu   cipheru   log_date_time_string(   u   selfu   formatu   args(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   log_messageÐ  s    
			N(   u   __name__u
   __module__u   server_versionu   Noneu   rootu   translate_pathu   log_message(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   RootedHTTPRequestHandler±  s   
	u   RootedHTTPRequestHandlerc             C   s~   d  |  _ d |  _ t j j t ƒ d |  j _	 t
 j ƒ  |  _ |  j t |  j f |  j | ƒ |  _ t j j |  ƒ d |  _ d  S(   Ni    FT(   u   Noneu   flagu   Falseu   activeu   osu   pathu   splitu   CERTFILEu   RootedHTTPRequestHandleru   rootu   supportu   find_unused_portu   portu   HTTPSServeru   HOSTu   serveru	   threadingu   Threadu   __init__u   Trueu   daemon(   u   selfu   certfile(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__Ý  s    		c             C   s   d |  j  j |  j f S(   Nu   <%s %s>(   u	   __class__u   __name__u   server(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __str__ç  s    c             C   s   | |  _  t j j |  ƒ d  S(   N(   u   flagu	   threadingu   Threadu   start(   u   selfu   flag(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   startê  s    	c             C   s>   d |  _ |  j o |  j j ƒ  n |  j j ƒ  d |  _ d  S(   NTF(   u   Trueu   activeu   flagu   setu   serveru   serve_foreveru   False(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   runî  s
    	
c             C   s   d |  _ |  j j ƒ  d  S(   NF(   u   Falseu   activeu   serveru   server_close(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   stopõ  s    	N(   u   __name__u
   __module__u
   HTTPServeru   HTTPSServeru   SimpleHTTPRequestHandleru   RootedHTTPRequestHandleru   __init__u   __str__u   Noneu   startu   runu   stop(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   OurHTTPSServerj  s   
C,	
		u   OurHTTPSServerc             B   sT   |  Ee  Z Gd  „  d e j ƒ Z d „  Z d „  Z d d „ Z d „  Z	 d „  Z
 d S(   c             B   s?   |  Ee  Z Gd  „  d e j ƒ Z d „  Z d „  Z d „  Z d S(   c             B   s;   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sN   t  j | d d d | d d ƒ|  _ t j j |  |  j ƒ |  j d d ƒ d  S(   Nu   server_sideu   certfileu   do_handshake_on_connectu   blockTF(	   u   sslu   wrap_socketu   Trueu   Falseu   socketu   asyncoreu   dispatcher_with_sendu   __init__u   do_handshake(   u   selfu   connu   certfile(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__  s
    c             C   sF   t  |  j t j ƒ o, x) |  j j ƒ  d k o |  j ƒ  q Wn d S(   Ni    T(   u
   isinstanceu   socketu   sslu	   SSLSocketu   pendingu   handle_read_eventu   True(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   readable  s
     c             C   s{   |  j  d ƒ } t j o t j j d t | ƒ ƒ n | p |  j ƒ  n, |  j t	 | d d ƒ j
 ƒ  j d d ƒ ƒ d  S(   Ni   u    server:  read %s from client
u   ASCIIu   strict(   u   recvu   supportu   verboseu   sysu   stdoutu   writeu   repru   closeu   sendu   stru   loweru   encode(   u   selfu   data(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_read  s    
c             C   s3   |  j  ƒ  t j o t j j d |  j ƒ n d  S(   Nu    server:  closed connection %s
(   u   closeu   supportu   verboseu   sysu   stdoutu   writeu   socket(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_close  s    

c             C   s   ‚  d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_error!  s    N(   u   __name__u
   __module__u   __init__u   readableu   handle_readu   handle_closeu   handle_error(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   ConnectionHandler   s
   
					u   ConnectionHandlerc             C   s\   | |  _  | |  _ t j j |  ƒ |  j t j t j ƒ |  j	 d | f ƒ |  j
 d ƒ d  S(   Nu    i   (   u   portu   certfileu   asyncoreu
   dispatcheru   __init__u   create_socketu   socketu   AF_INETu   SOCK_STREAMu   bindu   listen(   u   selfu   portu   certfile(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__$  s    		c             C   sK   |  j  ƒ  \ } } t j o t j j d | ƒ n |  j | |  j ƒ d  S(   Nu$    server:  new connection from %s:%s
(   u   acceptu   supportu   verboseu   sysu   stdoutu   writeu   ConnectionHandleru   certfile(   u   selfu   sock_obju   addr(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_accept,  s    
c             C   s   ‚  d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   handle_error2  s    N(   u   __name__u
   __module__u   asyncoreu   dispatcher_with_sendu   ConnectionHandleru   __init__u   handle_acceptu   handle_error(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu
   EchoServerþ  s   
$		u
   EchoServerc             C   sV   d  |  _ d |  _ t j ƒ  |  _ |  j |  j | ƒ |  _ t	 j
 j |  ƒ d |  _ d  S(   NFT(   u   Noneu   flagu   Falseu   activeu   supportu   find_unused_portu   portu
   EchoServeru   serveru	   threadingu   Threadu   __init__u   Trueu   daemon(   u   selfu   certfile(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __init__5  s    		c             C   s   d |  j  j |  j f S(   Nu   <%s %s>(   u	   __class__u   __name__u   server(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   __str__=  s    c             C   s   | |  _  t j j |  ƒ d  S(   N(   u   flagu	   threadingu   Threadu   start(   u   selfu   flag(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   start@  s    	c             C   sV   d |  _ |  j o |  j j ƒ  n x+ |  j o  y t j d ƒ Wq' Yq' Xq' Wd  S(   Ni   T(   u   Trueu   activeu   flagu   setu   asyncoreu   loop(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   runD  s    	
 
c             C   s   d |  _ |  j j ƒ  d  S(   NF(   u   Falseu   activeu   serveru   close(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   stopN  s    	N(   u   __name__u
   __module__u   asyncoreu
   dispatcheru
   EchoServeru   __init__u   __str__u   Noneu   startu   runu   stop(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   AsyncoreEchoServerú  s   
7			
u   AsyncoreEchoServerc             C   sQ  t  t d t j d t d d
 d d
 ƒ} t j ƒ  } | j | ƒ | j ƒ  zë y> t j	 t
 j
 ƒ  d |  d t j ƒ} | j t | j f ƒ Wn— t j k
 o= } z' t j o t j j d | ƒ n WYd  d  } ~ Xn\ t
 j k
 o= } z' t j o t j j d | ƒ n WYd  d  } ~ Xn Xt j d	 ƒ ‚ Wd  | j ƒ  | j ƒ  Xd  S(   Nu   certreqsu   cacertsu   chattyu   connectionchattyu   certfileu   ssl_versionu   
SSLError is %s
u   
socket.error is %s
u'   Use of invalid cert should have failed!F(   u   ThreadedEchoServeru   CERTFILEu   sslu   CERT_REQUIREDu   Falseu	   threadingu   Eventu   startu   waitu   wrap_socketu   socketu   PROTOCOL_TLSv1u   connectu   HOSTu   portu   SSLErroru   supportu   verboseu   sysu   stdoutu   writeu   erroru
   TestFailedu   stopu   join(   u   certfileu   serveru   flagu   su   x(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   badCertTestR  s.    			

+
,
u   FOO
c	             C   sÅ  t  |  d | d | d | d | d d ƒ}	 t j ƒ  }
 |	 j |
 ƒ |
 j ƒ  | d  k o
 | } n zEyM t j t	 j	 ƒ  d d d | d | d	 | d | ƒ} | j
 t |	 j f ƒ Wn‚ t j k
 o4 } z t j d
 t | ƒ ƒ ‚ WYd  d  } ~ Xn°t k
 o4 } z t j d t | ƒ ƒ ‚ WYd  d  } ~ XnqX| o, t j o t j j d t | ƒ ƒ qln | j | j d d ƒ ƒ | j ƒ  } | o, t j o t j j d t | ƒ ƒ qÄn t | d d ƒ } | | j ƒ  k os t j d t | d  t t | ƒ d ƒ … ƒ t | ƒ t | d  t t | ƒ d ƒ … j ƒ  ƒ t | ƒ f ƒ ‚ n | j d j d d ƒ ƒ | o" t j o t j j d ƒ qžn | j ƒ  Wd  |	 j ƒ  |	 j ƒ  Xd  S(   Nu   certreqsu   ssl_versionu   cacertsu   chattyu   connectionchattyu   server_sideu   certfileu   ca_certsu	   cert_reqsu   Unexpected SSL error:  u   Unexpected exception:  u    client:  sending %s...
u   ASCIIu   strictu    client:  read %s
u4   bad data <<%s>> (%d) received; expected <<%s>> (%d)
i   u   over
u    client:  closing connection.
F(   u   ThreadedEchoServeru   Falseu	   threadingu   Eventu   startu   waitu   Noneu   sslu   wrap_socketu   socketu   connectu   HOSTu   portu   SSLErroru   supportu
   TestFailedu   stru	   Exceptionu   verboseu   sysu   stdoutu   writeu   repru   encodeu   readu   loweru   minu   lenu   closeu   stopu   join(   u   certfileu   protocolu   certreqsu   cacertsfileu   client_certfileu   client_protocolu   indatau   chattyu   connectionchattyu   serveru   flagu   su   xu   outdata(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   serverParamsTesto  s\    		

 	,-
	
"+?

c             C   sD  | d  k o t j } n | t j k o
 d } n5 | t j k o
 d } n | t j k o
 d } n t j oG | o d p d } t j j	 | t j
 | ƒ t j
 |  ƒ | f ƒ n y) t t |  | t t | d d	 d d	 ƒWn% t j k
 o | o ‚  n Yn8 X| p/ t j d t j
 | ƒ t j
 |  ƒ f ƒ ‚ n d  S(
   Nu	   CERT_NONEu   CERT_OPTIONALu   CERT_REQUIREDu    %s->%s %s
u    {%s->%s} %s
u   chattyu   connectionchattyu5   Client protocol %s succeeded with server protocol %s!F(   u   Noneu   sslu	   CERT_NONEu   CERT_OPTIONALu   CERT_REQUIREDu   supportu   verboseu   sysu   stdoutu   writeu   get_protocol_nameu   serverParamsTestu   CERTFILEu   Falseu
   TestFailed(   u   server_protocolu   client_protocolu   expectedToWorku	   certsreqsu   certtypeu	   formatstr(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   tryProtocolCombo¦  s4    



c             B   s•   |  Ee  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d S(   c             C   sP   t  j o t j j d ƒ n t t t j t j	 t t t j d d d d ƒd  S(   Nu   
u   chattyu   connectionchattyT(   u   supportu   verboseu   sysu   stdoutu   writeu   serverParamsTestu   CERTFILEu   sslu   PROTOCOL_TLSv1u	   CERT_NONEu   True(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testEchoË  s
    
c             C   sY  t  j o t j j d ƒ n t j ƒ  } t t d t j	 d t j
 d t d d ƒ} t j ƒ  } | j | ƒ | j ƒ  zÆyM t j t j ƒ  d t d t d t j d t j
 ƒ} | j t | j f ƒ Wn‚ t j k
 o4 } z t  j d	 t | ƒ ƒ ‚ WYd  d  } ~ Xn1t k
 o4 } z t  j d
 t | ƒ ƒ ‚ WYd  d  } ~ Xnò X| p t  j d ƒ ‚ n | j ƒ  } | p t  j d ƒ ‚ n | j ƒ  } t  j o? t j j t j | ƒ d ƒ t j j d t | ƒ d ƒ n d | k o  t  j d t j | ƒ ƒ ‚ n d | d k o t  j d ƒ ‚ n | j ƒ  Wd  | j ƒ  | j ƒ  Xd  S(   Nu   
u   certreqsu   ssl_versionu   cacertsu   chattyu   certfileu   ca_certsu	   cert_reqsu   Unexpected SSL error:  u   Unexpected exception:  u$   Can't SSL-handshake with test serveru   Can't get peer certificate.u   Connection cipher is u   .
u   subjectu$   No subject field in certificate: %s.u   organizationNameu   Python Software Foundationuk   Missing or invalid 'organizationName' field in certificate subject; should be 'Python Software Foundation'.F(   u   organizationNameu   Python Software Foundation(   (   u   organizationNameu   Python Software Foundation(    u   supportu   verboseu   sysu   stdoutu   writeu   socketu   ThreadedEchoServeru   CERTFILEu   sslu	   CERT_NONEu   PROTOCOL_SSLv23u   Falseu	   threadingu   Eventu   startu   waitu   wrap_socketu   CERT_REQUIREDu   connectu   HOSTu   portu   SSLErroru
   TestFailedu   stru	   Exceptionu   getpeercertu   cipheru   pprintu   pformatu   closeu   stopu   join(   u   selfu   s2u   serveru   flagu   su   xu   certu   cipher(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testReadCertÓ  s^    
				
	&'
"
c             C   s3   t  t j j t j j t ƒ p t j d ƒ ƒ d  S(   Nu   nullcert.pem(   u   badCertTestu   osu   pathu   joinu   dirnameu   __file__u   curdir(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testNULLcert
  s    %c             C   s3   t  t j j t j j t ƒ p t j d ƒ ƒ d  S(   Nu   badcert.pem(   u   badCertTestu   osu   pathu   joinu   dirnameu   __file__u   curdir(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testMalformedCert  s    %c             C   s3   t  t j j t j j t ƒ p t j d ƒ ƒ d  S(   Nu   wrongcert.pem(   u   badCertTestu   osu   pathu   joinu   dirnameu   __file__u   curdir(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testWrongCert  s    %c             C   s3   t  t j j t j j t ƒ p t j d ƒ ƒ d  S(   Nu
   badkey.pem(   u   badCertTestu   osu   pathu   joinu   dirnameu   __file__u   curdir(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testMalformedKey  s    %c                s   t  j ƒ  ‰  t  j ƒ  ‰ t j ƒ  ‰ ‡  ‡ ‡ f d †  } ‡  ‡ ‡ f d †  } t  j d | ƒ } | j ƒ  | ƒ  | j ƒ  d  S(   Nc                 sT   t  j  ƒ  }  |  j t ˆ f ƒ |  j d ƒ ˆ  j ƒ  |  j ƒ  d  }  ˆ j ƒ  d  S(   Ni   (   u   socketu   bindu   HOSTu   listenu   setu   acceptu   None(   u   s(   u   listener_readyu   listener_goneu   port(    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   listener!  s    

c                 sp   ˆ  j  ƒ  t j ƒ  }  |  j t ˆ f ƒ ˆ j  ƒ  y t j |  ƒ } Wn t k
 o Yn Xt j d ƒ ‚ d  S(   Nu2   connecting to closed SSL socket should have failed(	   u   waitu   socketu   connectu   HOSTu   sslu   wrap_socketu   IOErroru   supportu
   TestFailed(   u   su   ssl_sock(   u   listener_readyu   listener_goneu   port(    u*   /mit/python/lib/python3.0/test/test_ssl.pyu	   connector*  s    

u   target(   u	   threadingu   Eventu   supportu   find_unused_portu   Threadu   startu   join(   u   selfu   listeneru	   connectoru   t(    (   u   listener_readyu   listener_goneu   portu*   /mit/python/lib/python3.0/test/test_ssl.pyu   testRudeShutdown  s    	
c             C   s²   t  j o t j j d ƒ n t t j t j d ƒ t t j t j d t j	 ƒ t t j t j d t j
 ƒ t t j t j d ƒ t t j t j d ƒ t t j t j d ƒ d  S(   Nu   
TF(   u   supportu   verboseu   sysu   stdoutu   writeu   tryProtocolCombou   sslu   PROTOCOL_SSLv2u   Trueu   CERT_OPTIONALu   CERT_REQUIREDu   PROTOCOL_SSLv23u   PROTOCOL_SSLv3u   Falseu   PROTOCOL_TLSv1(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testProtocolSSL2<  s    
c             C   s{  t  j o t j j d ƒ n y t t j t j d ƒ WnR t  j
 k
 oC } z- t  j o t j j d t | ƒ ƒ n WYd  d  } ~ Xn Xt t j t j d ƒ t t j t j d ƒ t t j t j d ƒ t t j t j d t j ƒ t t j t j d t j ƒ t t j t j d t j ƒ t t j t j d t j ƒ t t j t j d t j ƒ t t j t j d t j ƒ d  S(   Nu   
u;    SSL2 client to SSL23 server test unexpectedly failed:
 %s
T(   u   supportu   verboseu   sysu   stdoutu   writeu   tryProtocolCombou   sslu   PROTOCOL_SSLv23u   PROTOCOL_SSLv2u   Trueu
   TestFailedu   stru   PROTOCOL_SSLv3u   PROTOCOL_TLSv1u   CERT_OPTIONALu   CERT_REQUIRED(   u   selfu   x(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testProtocolSSL23F  s$    

	&c             C   s²   t  j o t j j d ƒ n t t j t j d ƒ t t j t j d t j	 ƒ t t j t j d t j
 ƒ t t j t j d ƒ t t j t j d ƒ t t j t j d ƒ d  S(   Nu   
TF(   u   supportu   verboseu   sysu   stdoutu   writeu   tryProtocolCombou   sslu   PROTOCOL_SSLv3u   Trueu   CERT_OPTIONALu   CERT_REQUIREDu   PROTOCOL_SSLv2u   Falseu   PROTOCOL_SSLv23u   PROTOCOL_TLSv1(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testProtocolSSL3]  s    
c             C   s²   t  j o t j j d ƒ n t t j t j d ƒ t t j t j d t j	 ƒ t t j t j d t j
 ƒ t t j t j d ƒ t t j t j d ƒ t t j t j d ƒ d  S(   Nu   
TF(   u   supportu   verboseu   sysu   stdoutu   writeu   tryProtocolCombou   sslu   PROTOCOL_TLSv1u   Trueu   CERT_OPTIONALu   CERT_REQUIREDu   PROTOCOL_SSLv2u   Falseu   PROTOCOL_SSLv3u   PROTOCOL_SSLv23(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testProtocolTLS1g  s    
c             C   s_  d } t  t d	 t j d
 d d d d d ƒ} t j ƒ  } | j | ƒ | j ƒ  d } zíy3 t
 j
 ƒ  } | j d ƒ | j t | j f ƒ Wn@ t k
 o4 } z t j d t | ƒ ƒ ‚ WYd  d  } ~ XnVXt j o t j j d ƒ n xØ| D]Ð} | j d d ƒ } t j o t j j d t | ƒ ƒ n | o |	 j | ƒ |	 j ƒ  }
 n | j | ƒ | j d ƒ }
 | d k o„ t |
 d d ƒ j ƒ  j ƒ  j d ƒ o\ t j o0 t |
 d d ƒ } t j j d t | ƒ ƒ n t j | d	 t j ƒ}	 d } qô | d k ox t |
 d d ƒ j ƒ  j ƒ  j d ƒ oP t j o0 t |
 d d ƒ } t j j d t | ƒ ƒ n |	 j  ƒ  } d } qô t j o0 t |
 d d ƒ } t j j d t | ƒ ƒ qô qô Wt j o t j j d ƒ n | o |	 j d j d d ƒ ƒ n | j d j d d ƒ ƒ | o |	 j! ƒ  n | j! ƒ  Wd  | j" ƒ  | j# ƒ  Xd  S(   Nu   msg 1u   MSG 2u   STARTTLSu   MSG 3u   msg 4u   ENDTLSu   msg 5u   msg 6u   ssl_versionu   starttls_serveru   chattyu   connectionchattyi   u   Unexpected exception:  u   
u   ASCIIu   replaceu    client:  sending %s...
i   u   oku/    client:  read %s from server, starting TLS...
u-    client:  read %s from server, ending TLS...
u    client:  read %s from server
u    client:  closing connection.
u   over
u   strict(   u   msg 1u   MSG 2u   STARTTLSu   MSG 3u   msg 4u   ENDTLSu   msg 5u   msg 6TF($   u   ThreadedEchoServeru   CERTFILEu   sslu   PROTOCOL_TLSv1u   Trueu	   threadingu   Eventu   startu   waitu   Falseu   socketu   setblockingu   connectu   HOSTu   portu	   Exceptionu   supportu
   TestFailedu   stru   verboseu   sysu   stdoutu   writeu   encodeu   repru   readu   sendu   recvu   stripu   loweru
   startswithu   wrap_socketu   unwrapu   closeu   stopu   join(   u   selfu   msgsu   serveru   flagu   wrappedu   su   xu   indatau   msgu   connu   outdata(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testSTARTTLSq  s|    			
-
 
	(
	
(
	

	

c       	      C   s2  t  t ƒ } t j ƒ  } | j | ƒ | j ƒ  z«yõ t j o t j	 j
 d ƒ n t t d ƒ j ƒ  } d } d t | j t j j t ƒ d f } t j j | ƒ } | j ƒ  j d ƒ } | oZ t | ƒ d k oG | j t | ƒ ƒ } t j o$ t j	 j
 d t | ƒ | f ƒ qn | j ƒ  WnW d j t j t j ƒ  Œ  ƒ } t j o t j	 j
 d | ƒ n t j | ƒ ‚ YnY X| | k pK t d	 t | ƒ t  | ƒ ƒ t d
 t | ƒ t  | ƒ ƒ t j d ƒ ‚ n Wd  t j o t j	 j
 d ƒ n | j! ƒ  t j o t j	 j
 d ƒ n | j ƒ  Xd  S(   Nu   
u   rbu    u   https://%s:%d/%si   u   content-lengthi    u/    client: read %d bytes from remote server '%s'
u   d1 isu   d2 isu%   Couldn't fetch data from HTTPS serveru   stopping server
u   joining thread
("   u   OurHTTPSServeru   CERTFILEu	   threadingu   Eventu   startu   waitu   supportu   verboseu   sysu   stdoutu   writeu   openu   readu   HOSTu   portu   osu   pathu   splitu   urllibu   requestu   urlopenu   infou   getu   intu   lenu   closeu   joinu	   tracebacku   format_exceptionu   exc_infou
   TestFailedu   printu   repru   stop(	   u   selfu   serveru   flagu   d1u   d2u   urlu   fu   dlenu   msg(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testSocketServerº  sJ    
 
#
	



c             C   su  t  j o t j j d ƒ n d } t t ƒ } t j ƒ  } | j	 | ƒ | j
 ƒ  zy/ t j t j ƒ  ƒ } | j t | j f ƒ Wn‚ t j k
 o4 } z t  j d t | ƒ ƒ ‚ WYd  d  } ~ Xnt k
 o4 } z t  j d t | ƒ ƒ ‚ WYd  d  } ~ XnPXt  j o t j j d t | ƒ ƒ n | j | j d d ƒ ƒ | j ƒ  } t  j o t j j d t | ƒ ƒ n t | d d ƒ } | | j ƒ  k os t  j d	 t | d  t t | ƒ d
 ƒ … ƒ t | ƒ t | d  t t | ƒ d
 ƒ … j ƒ  ƒ t | ƒ f ƒ ‚ n | j d j d d ƒ ƒ t  j o t j j d ƒ n | j ƒ  Wd  | j ƒ  | j ƒ  Xd  S(   Nu   
u   FOO
u   Unexpected SSL error:  u   Unexpected exception:  u    client:  sending %s...
u   ASCIIu   strictu    client:  read %s
u4   bad data <<%s>> (%d) received; expected <<%s>> (%d)
i   u   over
u    client:  closing connection.
(   u   supportu   verboseu   sysu   stdoutu   writeu   AsyncoreEchoServeru   CERTFILEu	   threadingu   Eventu   startu   waitu   sslu   wrap_socketu   socketu   connectu   HOSTu   portu   SSLErroru
   TestFailedu   stru	   Exceptionu   repru   sendallu   encodeu   recvu   loweru   minu   lenu   closeu   stopu   join(   u   selfu   indatau   serveru   flagu   su   xu   outdata(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   testAsyncoreServeræ  sD    

 ,-
	
+?

c          "      s
  t  j o t j j d ƒ n t t d t j d t j	 d t d d' d d( ƒ} t j ƒ  } | j | ƒ | j ƒ  z}yS t j t j ƒ  d d( d t d	 t d
 t j d t j	 ƒ‰  ˆ  j t | j f ƒ Wn‚ t j k
 o4 } z t  j d t | ƒ ƒ ‚ WYd  d  } ~ Xnât k
 o4 } z t  j d t | ƒ ƒ ‚ WYd  d  } ~ Xn£X‡  f d †  } ‡  f d †  } d ˆ  j d' g  f d ˆ  j d( d g f d ˆ  j d' g  f g } d ˆ  j d' g  f d ˆ  j d( d g f d | d' g  f d | d( g  f g } d } x`| D]X\ }	 }
 } } | |	 } y± |
 | j d d ƒ | Œ ˆ  j ƒ  } t | d d ƒ } | | j  ƒ  k oc t  j d j! d |	 d t" | d  d … ƒ d t# | ƒ d t" | d  d … ƒ d  t# | ƒ ƒ ƒ ‚ n Wqt$ k
 o| } zf | o t  j d! j! d |	 ƒ ƒ ‚ n t | ƒ j% |	 ƒ p% t  j d" j! d |	 d# | ƒ ƒ ‚ n WYd  d  } ~ XqXqWxj| D]b\ }	 } } } | |	 } y± ˆ  j | j d d ƒ ƒ | | Œ  } t | d d ƒ } | | j  ƒ  k oc t  j d$ j! d |	 d t" | d  d … ƒ d t# | ƒ d t" | d  d … ƒ d  t# | ƒ ƒ ƒ ‚ n Wqdt$ k
 o† } zp | o t  j d% j! d |	 ƒ ƒ ‚ n t | ƒ j% |	 ƒ p% t  j d" j! d |	 d# | ƒ ƒ ‚ n ˆ  j ƒ  WYd  d  } ~ XqdXqdWˆ  j d& j d d ƒ ƒ ˆ  j& ƒ  Wd  | j' ƒ  | j( ƒ  Xd  S()   Nu   
u   certreqsu   ssl_versionu   cacertsu   chattyu   connectionchattyu   server_sideu   certfileu   ca_certsu	   cert_reqsu   Unexpected SSL error:  u   Unexpected exception:  c                 s-   t  d d ƒ }  ˆ  j |  ƒ } |  d  | … S(   Ns    id   (   u	   bytearrayu	   recv_into(   u   bu   count(   u   s(    u*   /mit/python/lib/python3.0/test/test_ssl.pyu
   _recv_into-  s    c                 s3   t  d d ƒ }  ˆ  j |  ƒ \ } } |  d  | … S(   Ns    id   (   u	   bytearrayu   recvfrom_into(   u   bu   countu   addr(   u   s(    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   _recvfrom_into2  s    u   sendu   sendtou   some.addressu   sendallu   recvu   recvfromu	   recv_intou   recvfrom_intou   PREFIX_u   ASCIIu   strictup   While sending with <<{name:s}>> bad data <<{outdata:s}>> ({nout:d}) received; expected <<{indata:s}>> ({nin:d})
u   nameu   outdatai   u   noutu   indatau   ninu>   Failed to send with method <<{name:s}>>; expected to succeed.
uF   Method <<{name:s}>> failed with unexpected exception message: {exp:s}
u   expur   While receiving with <<{name:s}>> bad data <<{outdata:s}>> ({nout:d}) received; expected <<{indata:s}>> ({nin:d})
uA   Failed to receive with method <<{name:s}>>; expected to succeed.
u   over
TF()   u   supportu   verboseu   sysu   stdoutu   writeu   ThreadedEchoServeru   CERTFILEu   sslu	   CERT_NONEu   PROTOCOL_TLSv1u   Trueu   Falseu	   threadingu   Eventu   startu   waitu   wrap_socketu   socketu   connectu   HOSTu   portu   SSLErroru
   TestFailedu   stru	   Exceptionu   sendu   sendtou   sendallu   recvu   recvfromu   encodeu   readu   loweru   formatu   repru   lenu
   ValueErroru
   startswithu   closeu   stopu   join(   u   selfu   serveru   flagu   xu
   _recv_intou   _recvfrom_intou   send_methodsu   recv_methodsu   data_prefixu	   meth_nameu	   send_methu   expect_successu   argsu   indatau   outdatau   eu	   recv_meth(    (   u   su*   /mit/python/lib/python3.0/test/test_ssl.pyu   testAllRecvAndSendMethods  s¦    
				
 	,- 
	0		. 
	0		"
N(   u   __name__u
   __module__u   testEchou   testReadCertu   testNULLcertu   testMalformedCertu   testWrongCertu   testMalformedKeyu   testRudeShutdownu   testProtocolSSL2u   testProtocolSSL23u   testProtocolSSL3u   testProtocolTLS1u   testSTARTTLSu   testSocketServeru   testAsyncoreServeru   testAllRecvAndSendMethods(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   ThreadedTestsÉ  s   
		7					%	
		
	
	I	,	)u   ThreadedTestsc             C   s=  t  o t j d ƒ ‚ n t j j t j j t ƒ p t j d ƒ a	 t j j t j j t ƒ p t j d ƒ a
 t j j t	 ƒ p t j j t
 ƒ o t j d ƒ ‚ n t g } t j d ƒ o | j t ƒ n t o8 t j ƒ  } | o! t j d ƒ o | j t ƒ qn t j | Œ  t o t j | Œ  n d  S(   Nu   No SSL supportu   keycert.pemu   https_svn_python_org_root.pemu   Can't read certificate files!u   network(   u   skip_expectedu   supportu   TestSkippedu   osu   pathu   joinu   dirnameu   __file__u   curdiru   CERTFILEu   SVN_PYTHON_ORG_ROOT_CERTu   existsu
   TestFailedu
   BasicTestsu   is_resource_enabledu   appendu   NetworkedTestsu   _have_threadsu   threading_setupu   ThreadedTestsu   run_unittestu   threading_cleanup(   u   verboseu   testsu   thread_info(    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu	   test_mainŠ  s(    "				u   __main__(-   u   sysu   unittestu   testu   supportu   socketu   selectu   errnou
   subprocessu   timeu   osu   pprintu   urllib.parseu   urllibu   urllib.requestu   shutilu	   tracebacku   asyncoreu   http.serveru
   HTTPServeru   SimpleHTTPRequestHandleru   Falseu   skip_expectedu   sslu   ImportErroru   Trueu   HOSTu   Noneu   CERTFILEu   SVN_PYTHON_ORG_ROOT_CERTu   handle_erroru   TestCaseu
   BasicTestsu   NetworkedTestsu	   threadingu   _have_threadsu   Threadu   ThreadedEchoServeru   OurHTTPSServeru   AsyncoreEchoServeru   badCertTestu   serverParamsTestu   tryProtocolCombou   ThreadedTestsu	   test_mainu   __name__(    (    (    u*   /mit/python/lib/python3.0/test/test_ssl.pyu   <module>   sV   		?P®X	7 ÿ Â