Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_ssl.cpython-33.pyc

�
��f�zc
@s�ddlZddlZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZ
ddlZddlZddlZddlZddlZejd�ZejejejgZeed�rejej�nejZdd�Zed�Zeje�Z ed�Z!ed	�Z"eje!�Z#eje"�Z$ed
�Z%ed�Z&dZ'ed
�Z(eje(�Z)ed
d�Z*dZ+ed�Z,ed�Z-ed�Z.ed�Z/ed�Z0ed�Z1ed�Z2ed�Z3eje3�Z4dd�Z5dd�Z6dd�Z7dd�Z8Gd d!�d!ej9�Z:Gd"d#�d#ej9�Z;Gd$d%�d%ej9�Z<Gd&d'�d'ej9�Z=yddl>Z>Wne?k
r�e@ZAYn�XeBZAdd(lCmDZDGd)d*�d*e>jE�ZFGd+d,�d,e>jE�ZGd-d.�ZHd/eBe@d0d1�ZIeJddd2d3�ZKGd4d5�d5ej9�ZLe@d6d7�ZMeNd8kr�eM�ndS(9iN(usupportussluPROTOCOL_SSLv2cGstjjtjjt�|�S(N(uosupathujoinudirnameu__file__(uname((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	data_file su	data_fileukeycert.pemussl_cert.pemussl_key.pemukeycert.passwd.pemussl_key.passwd.pemusomepassucapathu
5ed36f99.0uself-signed.pythontest.netuselfsigned_pythontestdotnet.pemunullcert.pemubadcert.pemuXXXnonexisting.pemu
badkey.pemu	nokia.pemunullbytecert.pemu
dh1024.pemcCsBdjtjtj���}tjr>tjj||�ndS(Nu (	ujoinu	tracebackuformat_exceptionusysuexc_infousupportuverboseustdoutuwrite(uprefixu
exc_format((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_errorBs	uhandle_errorcCs
tjdkS(Nii	ii
i(ii	ii
i(usslu_OPENSSL_API_VERSION(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyucan_clear_optionsGsucan_clear_optionscCs
tjdkS(Nii	iii(ii	iii(ussluOPENSSL_VERSION_INFO(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuno_sslv2_implies_sslv3_helloKsuno_sslv2_implies_sslv3_hellocs<ttd�r4tj���fdd��}|S�SdS(NuPROTOCOL_SSLv2cslytjtj�WnHtjk
r^tjd	krZtj�d
krZtjd��nYnX�||�S(Nii	iiudebianusqueeze/siduu'Patched Ubuntu OpenSSL breaks behaviour(ii	iii(udebianusqueeze/sidu(	usslu
SSLContextuPROTOCOL_SSLv2uSSLErroruOPENSSL_VERSION_INFOuplatformulinux_distributionuunittestuSkipTest(uargsukwargs(ufunc(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyufSsu$skip_if_broken_ubuntu_ssl.<locals>.f(uhasattrusslu	functoolsuwraps(ufuncuf((ufuncu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuskip_if_broken_ubuntu_sslQs!	uskip_if_broken_ubuntu_sslcBs|EeZdZdd�Zdd�Zejejdkd�dd��Z	d	d
�Z
dd�Zd
d�Zdd�Z
ejdd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zejdejkd �d!d"��Zd#d$�Zd%d&�Zd'S((uBasicSocketTestscCs�tjtjtjtjtjtjtjtjtj	rKtj
ntjdkrdtjn|j
tjddh�|j
tj	ddh�dS(Nii(iiTF(ussluPROTOCOL_SSLv23uPROTOCOL_SSLv3uPROTOCOL_TLSv1u	CERT_NONEu
CERT_OPTIONALu
CERT_REQUIREDuOP_CIPHER_SERVER_PREFERENCEuOP_SINGLE_DH_USEuHAS_ECDHuOP_SINGLE_ECDH_USEuOPENSSL_VERSION_INFOuOP_NO_COMPRESSIONuassertInuHAS_SNIuTrueuFalse(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_constantscs	

uBasicSocketTests.test_constantscCs5tj�}tjr>tjjd||r0dp3df�ntjd�\}}|jt	|�d�|j||dk�|r�tj
d�}|jt	|�d�n|jtjtj
d�|jt
tj
d
�|jt
tjd�|jttjd�|jttjdd�tjdd	�dS(Nu
 RAND_status is %d (%s)
usufficient randomnessuinsufficient randomnessiiiufoouthis is a random stringg�R@i����i����(ussluRAND_statususupportuverboseusysustdoutuwriteuRAND_pseudo_bytesuassertEqualulenu
RAND_bytesuassertRaisesuSSLErroru
ValueErroru	TypeErroruRAND_egduRAND_add(uselfuvudatauis_cryptographic((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_randomts"	uBasicSocketTests.test_randomuposixurequires posixcCs�tj�}|s"|jd�ntj�\}}tj�}|dkr�yWtj|�tjd�d}|jt	|�d�tj
||�tj|�Wntk
r�tjd�Yq~Xtjd�n�tj|�|j
tj|�tj|d�\}}|j|d�tj|d�}|jt	|�d�tjd�d}|jt	|�d�|j||�dS(Nu*OpenSSL's PRNG has insufficient randomnessiii(ussluRAND_statusufailuosupipeuforkucloseuRAND_pseudo_bytesuassertEqualulenuwriteu
BaseExceptionu_exitu
addCleanupuwaitpidureaduassertNotEqual(uselfustatusurfduwfdupiduchild_randomu_u
parent_random((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_random_fork�s0


u!BasicSocketTests.test_random_forkcCstjjt�}tjr?tjjdt	j
|�d�n|j|dd�|j|dd�|j|d
d�|j|dd�|j|dd'�|j|dd)�tjjt�}tjr�tjjdt	j
|�d�n|j|dd,�dS(-Nu
uissuerucountryNameuXYulocalityNameuCastle AnthraxuorganizationNameuPython Software Foundationu
commonNameu	localhostunotAfteruOct  5 23:01:56 2020 GMTu	notBeforeuOct  8 23:01:56 2010 GMTuserialNumberuD7C7381919AFC24EusubjectusubjectAltNameuDNSuprojects.developer.nokia.comuprojects.forum.nokia.com(ucountryNameuXY((ucountryNameuXY(ulocalityNameuCastle Anthrax((ulocalityNameuCastle Anthrax(uorganizationNameuPython Software Foundation((uorganizationNameuPython Software Foundation(u
commonNameu	localhost((u
commonNameu	localhost(((ucountryNameuXY((ulocalityNameuCastle Anthrax((uorganizationNameuPython Software Foundation((u
commonNameu	localhost(ucountryNameuXY((ucountryNameuXY(ulocalityNameuCastle Anthrax((ulocalityNameuCastle Anthrax(uorganizationNameuPython Software Foundation((uorganizationNameuPython Software Foundation(u
commonNameu	localhost((u
commonNameu	localhost(((ucountryNameuXY((ulocalityNameuCastle Anthrax((uorganizationNameuPython Software Foundation((u
commonNameu	localhost(uDNSu	localhost((uDNSu	localhost(uDNSuprojects.developer.nokia.com(uDNSuprojects.forum.nokia.com((uDNSuprojects.developer.nokia.com(uDNSuprojects.forum.nokia.com(
usslu_sslu_test_decode_certuCERTFILEusupportuverboseusysustdoutuwriteupprintupformatuassertEqualu	NOKIACERT(uselfup((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_parse_cert�s.	$

	$
u BasicSocketTests.test_parse_certcCs�tjjt�}tjr?tjjdt	j
|�d�nd.}|j|d|�|j|d|�tjd/kr�d5}nd;}|j|d|�dS(<Nu
ucountryNameuUSustateOrProvinceNameuOregonulocalityNameu	BeavertonuorganizationNameuPython Software FoundationuorganizationalUnitNameuPython Core Developmentu
commonNameunull.python.orgexample.orguemailAddressupython-dev@python.orgusubjectuissuerii	iuDNSualtnull.python.orgexample.comuemailu null@python.orguser@example.orguURIu)http://null.python.orghttp://example.orgu
IP Addressu	192.0.2.1u2001:DB8:0:0:0:0:0:1
u	<invalid>usubjectAltName(ucountryNameuUS((ucountryNameuUS(ustateOrProvinceNameuOregon((ustateOrProvinceNameuOregon(ulocalityNameu	Beaverton((ulocalityNameu	Beaverton(uorganizationNameuPython Software Foundation((uorganizationNameuPython Software Foundation(uorganizationalUnitNameuPython Core Development((uorganizationalUnitNameuPython Core Development(u
commonNameunull.python.orgexample.org((u
commonNameunull.python.orgexample.org(uemailAddressupython-dev@python.org((uemailAddressupython-dev@python.org(((ucountryNameuUS((ustateOrProvinceNameuOregon((ulocalityNameu	Beaverton((uorganizationNameuPython Software Foundation((uorganizationalUnitNameuPython Core Development((u
commonNameunull.python.orgexample.org((uemailAddressupython-dev@python.org(ii	i(uDNSualtnull.python.orgexample.com(uemailu null@python.orguser@example.org(uURIu)http://null.python.orghttp://example.org(u
IP Addressu	192.0.2.1(u
IP Addressu2001:DB8:0:0:0:0:0:1
((uDNSualtnull.python.orgexample.com(uemailu null@python.orguser@example.org(uURIu)http://null.python.orghttp://example.org(u
IP Addressu	192.0.2.1(u
IP Addressu2001:DB8:0:0:0:0:0:1
(uDNSualtnull.python.orgexample.com(uemailu null@python.orguser@example.org(uURIu)http://null.python.orghttp://example.org(u
IP Addressu	192.0.2.1(u
IP Addressu	<invalid>((uDNSualtnull.python.orgexample.com(uemailu null@python.orguser@example.org(uURIu)http://null.python.orghttp://example.org(u
IP Addressu	192.0.2.1(u
IP Addressu	<invalid>(
usslu_sslu_test_decode_certuNULLBYTECERTusupportuverboseusysustdoutuwriteupprintupformatuassertEqualu_OPENSSL_API_VERSION(uselfupusubjectusan((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_parse_cert_CVE_2013_4238�s0	$	u.BasicSocketTests.test_parse_cert_CVE_2013_4238c	Cs�ttd��}|j�}WdQXtj|�}tj|�}tj|�}|j||�|jtjd�s�|j	d|�n|j
dtjd�s�|j	d|�ndS(Nuru
u-DER-to-PEM didn't include correct header:
%r
u-DER-to-PEM didn't include correct footer:
%r
(uopenu
CAFILE_CACERTureadussluPEM_cert_to_DER_certuDER_cert_to_PEM_certuassertEqualu
startswithu
PEM_HEADERufailuendswithu
PEM_FOOTER(uselfufupemud1up2ud2((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_DER_to_PEM�su BasicSocketTests.test_DER_to_PEMc	CsRtj}tj}tj}|j|t�|j|t�|j|t�|j|d�|j	|d�|\}}}}}|j|d�|j	|d�|j|d�|j	|d�|j|d�|j	|d�|j|d�|j
|d�|j|d�|j
|d�|j|jdj
|||��||f�dS(	Ni�i iiiiiuOpenSSL {:d}.{:d}.{:d}(ussluOPENSSL_VERSION_NUMBERuOPENSSL_VERSION_INFOuOPENSSL_VERSIONuassertIsInstanceuintutupleustruassertGreaterEqualu
assertLessuassertLessEqualu
assertTrueu
startswithuformat(	uselfunutusumajoruminorufixupatchustatus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_openssl_version�s*			!u%BasicSocketTests.test_openssl_versionc
Csftjtj�}tj|�}tj|�}tjdtf��~|j	|�d�WdQXdS(Nu(usocketuAF_INETussluwrap_socketuweakrefurefusupportucheck_warningsuResourceWarninguassertEqualuNone(uselfusussuwr((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
test_refcyclesuBasicSocketTests.test_refcyclec
Cs�tjtj�}tj|���}|jtj|jd�|jtj|jtd��|jtj|j	d�|jtj|j
td�d�|jtj|jd�|jtj|jdd�WdQXdS(Nisxu0.0.0.0i(u0.0.0.0i(
usocketuAF_INETussluwrap_socketuassertRaisesuerrorurecvu	recv_intou	bytearrayurecvfromu
recvfrom_intousendusendto(uselfususs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_wrapped_unconnecteds"u)BasicSocketTests.test_wrapped_unconnectedcCsbx[dD]S}tjtj�}|j|�tj|��}|j||j��WdQXqWdS(Ngg@(Ngg@(uNoneusocketuAF_INETu
settimeoutussluwrap_socketuassertEqualu
gettimeout(uselfutimeoutususs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_timeout(s


uBasicSocketTests.test_timeoutc2Cs�tj�}|jtdtj|dt�|jtdtj|dd	�|jtdtj|dd	dd�tj|dd	dt��&}|jtd|jtdf�WdQX|j	t
��/}tj��}tj|dt�WdQXWdQX|j|j
jtj�|j	t
��5}tj�� }tj|dtdt�WdQXWdQX|j|j
jtj�|j	t
��5}tj�� }tj|dtdt�WdQXWdQX|j|j
jtj�dS(
Nucertfile must be specifiedukeyfileu5certfile must be specified for server-side operationsuserver_sideucertfileuu!can't connect in server-side modei�T(usocketuassertRaisesRegexu
ValueErrorussluwrap_socketuCERTFILEuTrueuconnectuHOSTuassertRaisesuIOErroru	WRONGCERTuassertEqualu	exceptionuerrnouENOENT(uselfusockusucm((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_errors1s2			%%uBasicSocketTests.test_errorsc
s�dd�}�fdd�}idGd6}||d�||d�||d	�||d
�||d�||d�idJd6}||d�||d�||d�||d�||d�idMd6}||d�||d�||d�||d�||d�idPd6}||d�||d�||d�idSd6}||d�||d�||d�||d�idVd6}||d�||d�||d�djd�jd �}id|fffd6}|||�idYd6}|||�id\d6}|||�d#jd�jd �}id|fffd6}||d$jd�jd ��||d%jd�jd ��||d&jd�jd ��||d'jd�jd ��id(d)6d_d6dcd06}||d,�||d-�||d/�||d*�id1d)6dnd6}||d:�||d;�||d5�id1d)6dwd6}||d:�id<d)6d�d6d�d06}||d:�id<d)6d�d6d�d06}||d>��jttjdd��jttjid�id�d6}||d@�id�d6}||d@�id�d6}�jtj��}tj|dC�WdQX�jdDt	|j
��dS(�NcSstj||�dS(N(usslumatch_hostname(ucertuhostname((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuokMsu0BasicSocketTests.test_match_hostname.<locals>.okcs �jtjtj||�dS(N(uassertRaisesussluCertificateErrorumatch_hostname(ucertuhostname(uself(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyufailOsu2BasicSocketTests.test_match_hostname.<locals>.failu
commonNameuexample.comusubjectuExAmple.cOmuwww.example.comu.example.comuexample.orguexampleXcomu*.a.comu	foo.a.comu
bar.foo.a.comua.comuXa.comu.a.comuf*.comufoo.comuf.comubar.comubar.foo.comunull.python.orgexample.orgunull.python.orgu	*.*.a.comua.*.comu	a.foo.comua..comupüthon.python.orguidnauasciiu
x*.python.orguxn--p*.python.orguwww*.pythön.orguwww.pythön.orguwww1.pythön.orguftp.pythön.orgupythön.orguJun 26 21:41:46 2011 GMTunotAfterulinuxfrz.orguDNSulinuxfr.orgulinuxfr.comu	othernameu
<unsupported>usubjectAltNameuDec 18 23:59:59 2011 GMTucountryNameuUSustateOrProvinceNameu
CaliforniaulocalityNameu
Mountain ViewuorganizationNameu
Google Incumail.google.comu	gmail.comuDec 18 23:59:59 2099 GMTublablau
google.comua*b.comuaxxb.comua*b.co*ua*b*.comuaxxbxxc.comutoo many wildcards(u
commonNameuexample.com((u
commonNameuexample.com(((u
commonNameuexample.com(u
commonNameu*.a.com((u
commonNameu*.a.com(((u
commonNameu*.a.com(u
commonNameuf*.com((u
commonNameuf*.com(((u
commonNameuf*.com(u
commonNameunull.python.orgexample.org((u
commonNameunull.python.orgexample.org(((u
commonNameunull.python.orgexample.org(u
commonNameu	*.*.a.com((u
commonNameu	*.*.a.com(((u
commonNameu	*.*.a.com(u
commonNameua.*.com((u
commonNameua.*.com(((u
commonNameua.*.com(u
commonNameu
x*.python.org((u
commonNameu
x*.python.org(((u
commonNameu
x*.python.org(u
commonNameuxn--p*.python.org((u
commonNameuxn--p*.python.org(((u
commonNameuxn--p*.python.org(u
commonNameulinuxfrz.org((u
commonNameulinuxfrz.org(((u
commonNameulinuxfrz.org(uDNSulinuxfr.org(uDNSulinuxfr.com(u	othernameu
<unsupported>((uDNSulinuxfr.org(uDNSulinuxfr.com(u	othernameu
<unsupported>(ucountryNameuUS((ucountryNameuUS(ustateOrProvinceNameu
California((ustateOrProvinceNameu
California(ulocalityNameu
Mountain View((ulocalityNameu
Mountain View(uorganizationNameu
Google Inc((uorganizationNameu
Google Inc(u
commonNameumail.google.com((u
commonNameumail.google.com(((ucountryNameuUS((ustateOrProvinceNameu
California((ulocalityNameu
Mountain View((uorganizationNameu
Google Inc((u
commonNameumail.google.com(ucountryNameuUS((ucountryNameuUS(ustateOrProvinceNameu
California((ustateOrProvinceNameu
California(ulocalityNameu
Mountain View((ulocalityNameu
Mountain View(uorganizationNameu
Google Inc((uorganizationNameu
Google Inc(((ucountryNameuUS((ustateOrProvinceNameu
California((ulocalityNameu
Mountain View((uorganizationNameu
Google Inc(ucountryNameuUS((ucountryNameuUS(ustateOrProvinceNameu
California((ustateOrProvinceNameu
California(ulocalityNameu
Mountain View((ulocalityNameu
Mountain View(u
commonNameumail.google.com((u
commonNameumail.google.com(((ucountryNameuUS((ustateOrProvinceNameu
California((ulocalityNameu
Mountain View((u
commonNameumail.google.com(u	othernameublabla((u	othernameublabla(ucountryNameuUS((ucountryNameuUS(ustateOrProvinceNameu
California((ustateOrProvinceNameu
California(ulocalityNameu
Mountain View((ulocalityNameu
Mountain View(uorganizationNameu
Google Inc((uorganizationNameu
Google Inc(((ucountryNameuUS((ustateOrProvinceNameu
California((ulocalityNameu
Mountain View((uorganizationNameu
Google Inc(u	othernameublabla((u	othernameublabla(u
commonNameua*b.com((u
commonNameua*b.com(((u
commonNameua*b.com(u
commonNameua*b.co*((u
commonNameua*b.co*(((u
commonNameua*b.co*(u
commonNameua*b*.com((u
commonNameua*b*.com(((u
commonNameua*b*.com(uencodeudecodeuassertRaisesu
ValueErrorusslumatch_hostnameuNoneuCertificateErroruassertInustru	exception(uselfuokufailucertuidnaucm((uselfu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_match_hostnameLs�





























































u$BasicSocketTests.test_match_hostnamecCsJtjtj�}tj��&}|jt|j|ddd�WdQXdS(Nuserver_hostnameu
some.hostnameT(usslu
SSLContextuPROTOCOL_SSLv23usocketuassertRaisesu
ValueErroruwrap_socketuTrue(uselfuctxusock((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_server_side�su!BasicSocketTests.test_server_sidecCsQtjtj�}tj|��*}|jt��|jd�WdQXWdQXdS(Nuunknown-type(usocketuAF_INETussluwrap_socketuassertRaisesu
ValueErroruget_channel_binding(uselfususs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_unknown_channel_binding�su-BasicSocketTests.test_unknown_channel_bindingu
tls-uniqueu*'tls-unique' channel binding not availablecCs�tjtj�}tj|��}|j|jd��WdQXtjtj�}tj|dddt��}|j|jd��WdQXdS(Nu
tls-uniqueuserver_sideucertfileT(usocketuAF_INETussluwrap_socketuassertIsNoneuget_channel_bindinguTrueuCERTFILE(uselfususs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_tls_unique_channel_binding�su0BasicSocketTests.test_tls_unique_channel_bindingcCsstjtjtj��}t|�}|jt��}d}tj	�WdQX|j
|t|jj
d��dS(Ni(ussluwrap_socketusocketuAF_INETurepruassertWarnsuResourceWarninguNoneusupportu
gc_collectuassertInustruwarninguargs(uselfussurucm((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_dealloc_warn�su"BasicSocketTests.test_dealloc_warncCs�tjtjtj�}|j|j�|jt��}tj|dtj	�WdQX|j
t|j�d�tj
tj�}|jt��}|j|�WdQX|j
t|j�d�dS(Nu	cert_reqsu!only stream sockets are supported(usocketuAF_INETu
SOCK_DGRAMu
addCleanupucloseuassertRaisesuNotImplementedErrorussluwrap_socketu	CERT_NONEuassertEqualustru	exceptionu
SSLContextuPROTOCOL_SSLv23(uselfusucxuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_unsupported_dtls�su&BasicSocketTests.test_unsupported_dtlsN(u__name__u
__module__u__qualname__utest_constantsutest_randomuunittestu
skipUnlessuosunameutest_random_forkutest_parse_certutest_parse_cert_CVE_2013_4238utest_DER_to_PEMutest_openssl_versionusupportucpython_onlyu
test_refcycleutest_wrapped_unconnectedutest_timeoututest_errorsutest_match_hostnameutest_server_sideutest_unknown_channel_bindingussluCHANNEL_BINDING_TYPESutest_tls_unique_channel_bindingutest_dealloc_warnutest_unsupported_dtls(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuBasicSocketTestsas$' !	�uBasicSocketTestscBs�|EeZdZedd��Zedd��Zdd�Zedd��Zd	d
�Zdd�Z	d
d�Z
dd�Zedd��Zdd�Z
ejejd�dd��ZdS(uContextTestscCs�ttd�r$tjtj�}ntjtj�}tjtj�}tjtj�}|jttj�|jt	tjd�|jt	tjd�dS(NuPROTOCOL_SSLv2ii*i����(
uhasattrusslu
SSLContextuPROTOCOL_SSLv2uPROTOCOL_SSLv23uPROTOCOL_SSLv3uPROTOCOL_TLSv1uassertRaisesu	TypeErroru
ValueError(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_constructorsuContextTests.test_constructorcCs7x0tD](}tj|�}|j|j|�qWdS(N(u	PROTOCOLSusslu
SSLContextuassertEqualuprotocol(uselfuprotouctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
test_protocols
uContextTests.test_protocolc	CsYtjtj�}|jd�|jd�|jtjd��|jd�WdQXdS(NuALLuDEFAULTuNo cipher can be selectedu^$:,;?*'dorothyx(usslu
SSLContextuPROTOCOL_TLSv1uset_ciphersuassertRaisesRegexuSSLError(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_cipherss


uContextTests.test_ciphersc	Cs�tjtj�}|jtjtjB|j�|jtjO_|jtjtjBtjB|j�t�r�|jtj@tj	B|_|jtjtj	BtjB|j�d|_|jd|j�n|j
t��d|_WdQXdS(Ni(usslu
SSLContextuPROTOCOL_TLSv1uassertEqualuOP_ALLuOP_NO_SSLv2uoptionsuOP_NO_SSLv3ucan_clear_optionsuOP_NO_TLSv1uassertRaisesu
ValueError(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_optionss

	
	uContextTests.test_optionscCs�tjtj�}|j|jtj�tj|_|j|jtj�tj|_|j|jtj�tj|_|j|jtj�|jt	��d|_WdQX|jt��d|_WdQXdS(Ni*(usslu
SSLContextuPROTOCOL_TLSv1uassertEqualuverify_modeu	CERT_NONEu
CERT_OPTIONALu
CERT_REQUIREDuassertRaisesu	TypeErroruNoneu
ValueError(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_verify,suContextTests.test_verifycYCs�tjtj�}|jt�|jtdt�|jt|jdt�|jt��}|jt�WdQX|j	|j
jtj�|j
tjd��|jt�WdQX|j
tjd��|jt�WdQXtjtj�}|jtt�|jdtdt�|jdtdt�|j
tjd��|jt�WdQX|j
tjd��|jt�WdQX|j
tjd��|jdtdt�WdQXtjtj�}|j
tjd��|jtt�WdQX|jtdt�|jtdtj��|jtdttj���|jttt�|jtttj��|jttttj���|j
td��|jtdd�WdQX|jtj��|jtdd�WdQX|j
td��|jtdd	d
�WdQXdd�}d
d�}dd�}dd�}dd�}dd�}dd�}	Gdd�d�}
|jtd|�|jtd|�|jtd|�|jtd|
��|jtd|
�j�|jtj��|jtd|�WdQX|j
td��|jtd|�WdQX|j
td��|jtd|�WdQX|j
td��|jtd|	�WdQX|jtd|	�dS(NukeyfileuPEM libucertfileukey values mismatchupasswordushould be a stringubadpassucannot be longersai�cSstS(N(uKEY_PASSWORD(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_unicodejsu:ContextTests.test_load_cert_chain.<locals>.getpass_unicodecSs
tj�S(N(uKEY_PASSWORDuencode(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
getpass_byteslsu8ContextTests.test_load_cert_chain.<locals>.getpass_bytescSsttj��S(N(u	bytearrayuKEY_PASSWORDuencode(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_bytearraynsu<ContextTests.test_load_cert_chain.<locals>.getpass_bytearraycSsdS(Nubadpass((((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_badpasspsu:ContextTests.test_load_cert_chain.<locals>.getpass_badpasscSsddS(Nsaii((((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_hugersu7ContextTests.test_load_cert_chain.<locals>.getpass_hugecSsdS(Ni	((((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_bad_typetsu;ContextTests.test_load_cert_chain.<locals>.getpass_bad_typecSstd��dS(Nu
getpass error(u	Exception(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass_exceptionvsu<ContextTests.test_load_cert_chain.<locals>.getpass_exceptioncBs,|EeZdZdd�Zdd�ZdS(u:ContextTests.test_load_cert_chain.<locals>.GetPassCallablecSstS(N(uKEY_PASSWORD(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__call__ysuCContextTests.test_load_cert_chain.<locals>.GetPassCallable.__call__cSstS(N(uKEY_PASSWORD(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyugetpass{suBContextTests.test_load_cert_chain.<locals>.GetPassCallable.getpassN(u__name__u
__module__u__qualname__u__call__ugetpass(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuGetPassCallablexsuGetPassCallableumust return a stringu
getpass errorT(usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuassertRaisesu	TypeErroruIOErroru	WRONGCERTuassertEqualu	exceptionuerrnouENOENTuassertRaisesRegexuSSLErroruBADCERTu	EMPTYCERTuONLYCERTuONLYKEYuBYTES_ONLYCERTu
BYTES_ONLYKEYu
CAFILE_CACERTuCERTFILE_PROTECTEDuKEY_PASSWORDuencodeu	bytearrayuONLYKEY_PROTECTEDuTrueu
ValueErrorugetpassu	Exception(uselfuctxucmugetpass_unicodeu
getpass_bytesugetpass_bytearrayugetpass_badpassugetpass_hugeugetpass_bad_typeugetpass_exceptionuGetPassCallable((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_load_cert_chain;sz

u!ContextTests.test_load_cert_chaincCs+tjtj�}|jt�|jdtdd�|jt�|jdtdd�|jt|j�|jt|jdd�|jt	��}|jt
�WdQX|j|jj
t
j�|jtjd��|jt�WdQX|jtt�|jtdt�|jt|jdd�dS(NucafileucapathuPEM libT(usslu
SSLContextuPROTOCOL_TLSv1uload_verify_locationsuCERTFILEuNoneuBYTES_CERTFILEuassertRaisesu	TypeErroruIOErroru	WRONGCERTuassertEqualu	exceptionuerrnouENOENTuassertRaisesRegexuSSLErroruBADCERTuCAPATHuBYTES_CAPATHuTrue(uselfuctxucm((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_load_verify_locations�s

u'ContextTests.test_load_verify_locationscCs�tjtj�}|jt�tjdkr>|jt�n|jt	|j�|jt	|jd�|jt��}|jt�WdQX|j
|jjtj�|jtj��}|jt�WdQXdS(Nunt(usslu
SSLContextuPROTOCOL_TLSv1uload_dh_paramsuDHFILEuosunameuBYTES_DHFILEuassertRaisesu	TypeErroruNoneuFileNotFoundErroru	WRONGCERTuassertEqualu	exceptionuerrnouENOENTuSSLErroruCERTFILE(uselfuctxucm((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_load_dh_params�s
u ContextTests.test_load_dh_paramscCs�x�tD]x}tj|�}|j|j�idd6dd6dd6dd6dd6dd6dd6dd	6dd
6dd6dd6�qWdS(
Niunumberuconnectuconnect_gooduconnect_renegotiateuacceptuaccept_gooduaccept_renegotiateuhitsumissesutimeoutsu
cache_full(u	PROTOCOLSusslu
SSLContextuassertEqualu
session_stats(uselfuprotouctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_session_stats�s
uContextTests.test_session_statscCs tjtj�}|j�dS(N(usslu
SSLContextuPROTOCOL_TLSv1uset_default_verify_paths(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_set_default_verify_paths�su*ContextTests.test_set_default_verify_pathsu#ECDH disabled on this OpenSSL buildcCs�tjtj�}|jd�|jd�|jt|j�|jt|jd�|jt|jd�|jt|jd�dS(Nu
prime256v1s
prime256v1ufoosfoo(usslu
SSLContextuPROTOCOL_TLSv1uset_ecdh_curveuassertRaisesu	TypeErroruNoneu
ValueError(uselfuctx((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_set_ecdh_curve�s

u ContextTests.test_set_ecdh_curveN(u__name__u
__module__u__qualname__uskip_if_broken_ubuntu_sslutest_constructoru
test_protocolutest_ciphersutest_optionsutest_verifyutest_load_cert_chainutest_load_verify_locationsutest_load_dh_paramsutest_session_statsutest_set_default_verify_pathsuunittestu
skipUnlessussluHAS_ECDHutest_set_ecdh_curve(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuContextTests�sS
uContextTestscBs8|EeZdZdd�Zdd�Zdd�ZdS(u
SSLErrorTestscCsztjdd�}|jt|�d�|j|jd�tjdd�}|jt|�d�|j|jd�dS(Niufoo(ussluSSLErroruassertEqualustruerrnouSSLZeroReturnError(uselfue((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_str�suSSLErrorTests.test_strc	Cs�tjtj�}|jtj��}|jt�WdQX|j|jj	d�|j|jj
d�t|j�}|j|j
d�|�dS(NuPEMu
NO_START_LINEu"[PEM: NO_START_LINE] no start line(usslu
SSLContextuPROTOCOL_TLSv1uassertRaisesuSSLErroruload_dh_paramsuCERTFILEuassertEqualu	exceptionulibraryureasonustru
assertTrueu
startswith(uselfuctxucmus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_lib_reason�suSSLErrorTests.test_lib_reasoncCs�tjtj�}tj���}|jd�|jd�tj�}|j|j��|jd�|j
|ddd��m}|jtj��}|j
�WdQXt|j�}|j|jd�|�|j|jjtj�WdQXWdQXdS(Nu	127.0.0.1iiudo_handshake_on_connectu%The operation did not complete (read)(u	127.0.0.1iF(usslu
SSLContextuPROTOCOL_TLSv1usocketubindulistenuconnectugetsocknameusetblockinguFalseuwrap_socketuassertRaisesuSSLWantReadErrorudo_handshakeustru	exceptionu
assertTrueu
startswithuassertEqualuerrnouSSL_ERROR_WANT_READ(uselfuctxusucucm((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
test_subclass�s


uSSLErrorTests.test_subclassN(u__name__u
__module__u__qualname__utest_strutest_lib_reasonu
test_subclass(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
SSLErrorTests�s

u
SSLErrorTestscBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jej
dkd�dd��Zdd�Zdd�Zdd�Zdd�ZdS(uNetworkedTestscCs+tjt��tjtjtj�dtj�}z-|jtdf�|j	i|j
��Wd|j�Xtjtjtj�dtj�}|j
tjd|jtdf�|j�tjtjtj�dtjdt�}z*|jtdf�|j|j
��Wd|j�XWdQXdS(Nu	cert_reqsi�ucertificate verify faileduca_certs(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETu	CERT_NONEuconnectuassertEqualugetpeercertucloseu
CERT_REQUIREDuassertRaisesRegexuSSLErroruREMOTE_ROOT_CERTu
assertTrue(uselfus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_connect�s&
		uNetworkedTests.test_connectcCs�tjt��stjtjtj�dtjdt�}z6|j	d|j
tdf��|j|j��Wd|j
�XWdQXdS(Nu	cert_reqsuca_certsii�(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETu
CERT_REQUIREDuREMOTE_ROOT_CERTuassertEqualu
connect_exu
assertTrueugetpeercertuclose(uselfus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_connect_exs		uNetworkedTests.test_connect_excCs<tjt��'tjtjtj�dtjdtdd�}z�|j
d�|jtdf�}|j|dt
jt
jf�tjg|ggd�xpy|j�PWq�tjk
r�tj|gggd�Yq�tjk
rtjg|ggd�Yq�Xq�|j|j��Wd|j�XWdQXdS(Nu	cert_reqsuca_certsudo_handshake_on_connecti�ig@F(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETu
CERT_REQUIREDuREMOTE_ROOT_CERTuFalseusetblockingu
connect_exuassertInuerrnouEINPROGRESSuEWOULDBLOCKuselectudo_handshakeuSSLWantReadErroruSSLWantWriteErroru
assertTrueugetpeercertuclose(uselfusurc((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_non_blocking_connect_ex#s(		

!u+NetworkedTests.test_non_blocking_connect_excCs�tjt���tjtjtj�dtjdtdd�}z^|j
d�|jtdf�}|dkr�|jd�n|j
|tjtjf�Wd|j�XWdQXdS(	Nu	cert_reqsuca_certsudo_handshake_on_connectgH�����z>i�iu!REMOTE_HOST responded too quicklyF(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETu
CERT_REQUIREDuREMOTE_ROOT_CERTuFalseu
settimeoutu
connect_exuskipTestuassertInuerrnouEAGAINuEWOULDBLOCKuclose(uselfusurc((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_timeout_connect_ex@s		
 u&NetworkedTests.test_timeout_connect_excCs�tjt���tjtjtj�dtjdt�}zG|j	tdf�}t
jt
jt
j
t
jf}|j||�Wd|j�XWdQXdS(Nu	cert_reqsuca_certsi�(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETu
CERT_REQUIREDuREMOTE_ROOT_CERTu
connect_exuerrnouECONNREFUSEDuEHOSTUNREACHu	ETIMEDOUTuEWOULDBLOCKuassertInuclose(uselfusurcuerrors((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_connect_ex_errorQs		u$NetworkedTests.test_connect_ex_errorcCs�tjt���tjtj�}|jtjtj��}|j	tdf�z|j
i|j��Wd|j�X|jtjtj�dt�}tj
r�|j	tdf�|j�n|jt|j	tdf�tj|_|jtjtj��}|jtjd|j	tdf�|j�|jt�|jtjtj��}|j	tdf�z|j�}|j|�Wd|j�XWdQXdS(Ni�userver_hostnameucertificate verify failed(usupportutransient_internetuREMOTE_HOSTusslu
SSLContextuPROTOCOL_SSLv23uwrap_socketusocketuAF_INETuconnectuassertEqualugetpeercertucloseuHAS_SNIuassertRaisesu
ValueErroru
CERT_REQUIREDuverify_modeuassertRaisesRegexuSSLErroruload_verify_locationsuREMOTE_ROOT_CERTu
assertTrue(uselfuctxusucert((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_connect_with_contextbs2		


u(NetworkedTests.test_connect_with_contextcCs(tjt��tjtj�}tj|_|jdt	�|j
tjtj��}|j
tdf�z|j�}|j|�Wd|j�Xtjtj�}tj|_|jdt�|j
tjtj��}|j
tdf�z|j�}|j|�Wd|j�XWdQXdS(Nucapathi�(usupportutransient_internetuREMOTE_HOSTusslu
SSLContextuPROTOCOL_SSLv23u
CERT_REQUIREDuverify_modeuload_verify_locationsuCAPATHuwrap_socketusocketuAF_INETuconnectugetpeercertu
assertTrueucloseuBYTES_CAPATH(uselfuctxusucert((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_connect_capath�s&u"NetworkedTests.test_connect_capathuntu*Can't use a socket as a file under WindowscCs�tjt���tjtjtj��}|jtdf�|j�}|j	�}|j
�tj|d�|j
�t
j�|jt��}tj|d�WdQX|j|jjtj�WdQXdS(Ni�i(usupportutransient_internetuREMOTE_HOSTussluwrap_socketusocketuAF_INETuconnectufilenoumakefileucloseuosureadugcucollectuassertRaisesuOSErroruassertEqualu	exceptionuerrnouEBADF(uselfussufdufue((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_makefile_close�s


u"NetworkedTests.test_makefile_closecCstjt���tjtj�}|jtdf�|jd�tj	|dtj
dd�}d}xty|d7}|j�PWqitjk
r�t
j
|ggg�Yqitjk
r�t
j
g|gg�YqiXqi|j�tjrtjjd|�nWdQXdS(Ni�u	cert_reqsudo_handshake_on_connectiiu9
Needed %d calls to do_handshake() to establish session.
F(usupportutransient_internetuREMOTE_HOSTusocketuAF_INETuconnectusetblockinguFalseussluwrap_socketu	CERT_NONEudo_handshakeuSSLWantReadErroruselectuSSLWantWriteErrorucloseuverboseusysustdoutuwrite(uselfusucount((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_non_blocking_handshake�s(
		


	u*NetworkedTests.test_non_blocking_handshakecsBd�fdd�}|tdt�tjr>|dd�ndS(NcsItj|��4tj||ftj�}|sK�jd||f�ny%tj||ftjdt�}WnHtjk
r�}z%tjr�t	j
jd|�nWYdd}~XnX�jd|||f�tj||ftjd|�}|s�jd||f�ntjr?t	j
jd|||f�nWdQXdS(NuNo server certificate on %s:%s!uca_certsu%s
u$Got server certificate %s for %s:%s!u&
Verified certificate for %s:%s is
%s
(usupportutransient_internetussluget_server_certificateuPROTOCOL_SSLv23ufailuCERTFILEuSSLErroruverboseusysustdoutuwrite(uhostuportucertupemux(uself(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu_test_get_server_certificate�s(	
	*			uPNetworkedTests.test_get_server_certificate.<locals>._test_get_server_certificatei�uipv6.google.com(uNoneuREMOTE_HOSTuREMOTE_ROOT_CERTusupportuIPV6_ENABLED(uselfu_test_get_server_certificate((uselfu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_get_server_certificate�s	u*NetworkedTests.test_get_server_certificatec'Cstdf}tj|d���tjtjtj�dtjdd��}|j|�WdQXtjtjtj�dtjdd��}|j|�WdQX|j	tj
d��Ktjtj��2}tj|dtjdd�}|j|�WdQXWdQXWdQXdS(	Ni�iu	cert_reqsuciphersuALLuDEFAULTuNo cipher can be selectedu^$:,;?*'dorothyx(uREMOTE_HOSTusupportutransient_internetussluwrap_socketusocketuAF_INETu	CERT_NONEuconnectuassertRaisesRegexuSSLError(uselfuremoteususock((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_ciphers�suNetworkedTests.test_cipherscCs:tjd
kr&|jdtj�ntjs?|jd�nd}tjjtjjt	�d	�}t
jd���tjtj
�}tj|_|j|�|jtjtj�d
d�}z`|j|�t
jr!tjjd||j�f�tjjdtj|j���nWd|j�XWdQXdS(Nii	iiuSHA256 not available on %ruSNI needed for this testusha256.tbs-internet.comi�u
sha256.pemuserver_hostnameu
Cipher with %r is %r
uCertificate is:
%s
(ii	iii(usha256.tbs-internet.comi�(ussluOPENSSL_VERSION_INFOuskipTestuOPENSSL_VERSIONuHAS_SNIuosupathujoinudirnameu__file__usupportutransient_internetu
SSLContextuPROTOCOL_TLSv1u
CERT_REQUIREDuverify_modeuload_verify_locationsuwrap_socketusocketuAF_INETuconnectuverboseusysustdoutuwriteucipherupprintupformatugetpeercertuclose(uselfuremoteusha256_certuctxus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_algorithms�s(	!
	
	uNetworkedTests.test_algorithmsN(u__name__u
__module__u__qualname__utest_connectutest_connect_exutest_non_blocking_connect_exutest_timeout_connect_exutest_connect_ex_errorutest_connect_with_contextutest_connect_capathuunittestuskipIfuosunameutest_makefile_closeutest_non_blocking_handshakeutest_get_server_certificateutest_ciphersutest_algorithms(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuNetworkedTests�s"'uNetworkedTests(umake_https_servercBs�|EeZdZGdd�dej�Zdddddddddddd�
Z	dd�Z
dd�Zdd	d
�Zdd�Z
d
d�ZdS(uThreadedEchoServercBsb|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS(u$ThreadedEchoServer.ConnectionHandleru�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.cCsZ||_d|_||_||_|jjd�d|_tj	j
|�d|_dS(NiFT(
userveruFalseurunningusockuaddrusetblockinguNoneusslconnu	threadinguThreadu__init__uTrueudaemon(uselfuserveruconnsockuaddr((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__init__(s					u-ThreadedEchoServer.ConnectionHandler.__init__cCs�yA|jjj|jdd
�|_|jjj|jj��Wn�t	j
tfk
r�}zf|jjj|�|jj
r�tdt|j�d�nd|_|jj�|j�dSWYdd}~Xn"X|jjjt	jkr�|jj�}tjr3|jj
r3tjjdtj|�d�n|jjd
�}tjr�|jj
r�tjjdtt |��d�q�n|jj!�}tjr�|jj
r�tjjdt|�d�tjjd	t|jj��d�nd
SdS(Nuserver_sideu'
 server:  bad connection attempt from u:
u client cert is u
u cert binary is u bytes
u" server: connection cipher is now u" server: selected protocol is now TF("userverucontextuwrap_socketusockuTrueusslconnuselected_protocolsuappenduselected_npn_protocolussluSSLErroruConnectionResetErroruconn_errorsuchattyuhandle_errorurepruaddruFalseurunningustopucloseuverify_modeu
CERT_REQUIREDugetpeercertusupportuverboseusysustdoutuwriteupprintupformatustrulenucipher(uselfueucertucert_binaryucipher((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	wrap_conn2s2 	

$*	!u.ThreadedEchoServer.ConnectionHandler.wrap_conncCs*|jr|jj�S|jjd�SdS(Ni(usslconnureadusockurecv(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyureadUs	
u)ThreadedEchoServer.ConnectionHandler.readcCs-|jr|jj|�S|jj|�SdS(N(usslconnuwriteusockusend(uselfubytes((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuwrite[s	u*ThreadedEchoServer.ConnectionHandler.writecCs*|jr|jj�n
|jj�dS(N(usslconnucloseusock(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyucloseas	u*ThreadedEchoServer.ConnectionHandler.closecCs�d|_|jjs(|j�s(dSnx�|jr�yE|j�}|j�}|skd|_|j�n
|dkr�t	j
r�|jjr�tj
jd�n|j�dS|jjr
|dkr
t	j
r�|jjr�tj
jd�n|jd�|j�sxdSnk|jjr�|jr�|dkr�t	j
rV|jjrVtj
jd�n|jd�|jj�|_d|_t	j
rx|jjrxtj
jd�qxn�|d	krt	j
r�|jjr�tj
jd
�n|jjd�}|jt|�jd�d
�nft	j
re|jjre|jr6dp9d}tj
jd|||j�|f�n|j|j��Wq+tjk
r�|jjr�td�n|j�d|_|jj�Yq+Xq+WdS(Nsoveru" server: client closed connection
sSTARTTLSu2 server: read STARTTLS from client, sending OK...
sOK
sENDTLSu0 server: read ENDTLS from client, sending OK...
u* server: connection is now unencrypted...
s
CB tls-uniqueu@ server: read CB tls-unique from client, sending our CB data...
u
tls-uniqueuus-asciis
u	encrypteduunencryptedu/ server: read %r (%s), sending back %r (%s)...
uTest server failure:
TF(uTrueurunninguserverustarttls_serveru	wrap_connureadustripuFalseucloseusupportuverboseuconnectionchattyusysustdoutuwriteusslconnuunwrapusockuNoneuget_channel_bindingurepruencodeulowerusocketuerroruchattyuhandle_errorustop(uselfumsgustrippedudatauctype((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyurungsb		



	#	

	u(ThreadedEchoServer.ConnectionHandler.runN(
u__name__u
__module__u__qualname__u__doc__u__init__u	wrap_connureaduwriteucloseurun(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuConnectionHandler"s
#uConnectionHandlercCs>|
r|
|_n�tj|dk	r*|ntj�|_|dk	rK|ntj|j_|rs|jj|�n|r�|jj|�n|r�|jj	|�n|	r�|jj
|	�n||_||_||_
tj�|_tj|j�|_d|_d|_g|_g|_tjj|�d|_dS(NFT(ucontextusslu
SSLContextuNoneuPROTOCOL_TLSv1u	CERT_NONEuverify_modeuload_verify_locationsuload_cert_chainuset_npn_protocolsuset_ciphersuchattyuconnectionchattyustarttls_serverusocketusockusupportu	bind_portuportuflaguFalseuactiveuselected_protocolsuconn_errorsu	threadinguThreadu__init__uTrueudaemon(uselfucertificateussl_versionucertreqsucacertsuchattyuconnectionchattyustarttls_serveru
npn_protocolsuciphersucontext((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__init__�s4							uThreadedEchoServer.__init__cCs$|jtj��|jj�|S(N(ustartu	threadinguEventuflaguwait(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	__enter__�s
uThreadedEchoServer.__enter__cGs|j�|j�dS(N(ustopujoin(uselfuargs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__exit__�s
uThreadedEchoServer.__exit__cCs||_tjj|�dS(N(uflagu	threadinguThreadustart(uselfuflag((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyustart�s	uThreadedEchoServer.startcCs|jjd�|jjd�d|_|jrB|jj�nx�|jr�yu|jj�\}}tj	r�|j
r�tjj
dt|�d�n|j|||�}|j�|j�WqEtjk
r�YqEtk
r�|j�YqEXqEW|jj�dS(Ng�������?iu server:  new connection from u
T(usocku
settimeoutulistenuTrueuactiveuflagusetuacceptusupportuverboseuchattyusysustdoutuwriteurepruConnectionHandlerustartujoinusocketutimeoutuKeyboardInterruptustopuclose(uselfunewconnuconnaddruhandler((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyurun�s&			

uThreadedEchoServer.runcCs
d|_dS(NF(uFalseuactive(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyustop�suThreadedEchoServer.stopNTF(u__name__u
__module__u__qualname__u	threadinguThreaduConnectionHandleruNoneuTrueuFalseu__init__u	__enter__u__exit__ustarturunustop(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuThreadedEchoServer s|	uThreadedEchoServercBs�|EeZdZGdd�dej�Zdd�Zdd�Zdd�Zd	d
�Z	ddd�Zd
d�Zdd�Z
dS(uAsyncoreEchoServercBsQ|EeZdZGdd�dej�Zdd�Zdd�Zdd�Zd	S(
uAsyncoreEchoServer.EchoServercBs\|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S(u/AsyncoreEchoServer.EchoServer.ConnectionHandlercCsQtj|ddd|dd�|_tjj||j�d|_|j	�dS(Nuserver_sideucertfileudo_handshake_on_connectTF(
ussluwrap_socketuTrueuFalseusocketuasyncoreudispatcher_with_sendu__init__u_ssl_acceptingu_do_ssl_handshake(uselfuconnucertfile((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__init__�s	u8AsyncoreEchoServer.EchoServer.ConnectionHandler.__init__cCsBt|jtj�r>x&|jj�dkr:|j�qWndS(NiT(u
isinstanceusocketusslu	SSLSocketupendinguhandle_read_eventuTrue(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyureadable�su8AsyncoreEchoServer.EchoServer.ConnectionHandler.readablecCs�y|jj�Wn�tjtjfk
r5dSYn�tjk
rS|j�SYnhtjk
rj�YnQtjk
r�}z%|j	dt
jkr�|j�SWYdd}~Xn
Xd|_
dS(NiF(usocketudo_handshakeussluSSLWantReadErroruSSLWantWriteErroruSSLEOFErroruhandle_closeuSSLErroruerroruargsuerrnouECONNABORTEDuFalseu_ssl_accepting(uselfuerr((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu_do_ssl_handshake�suAAsyncoreEchoServer.EchoServer.ConnectionHandler._do_ssl_handshakecCsu|jr|j�n[|jd�}tjrKtjjdt|��n|s^|j	�n|j
|j��dS(Niu server:  read %s from client
(u_ssl_acceptingu_do_ssl_handshakeurecvusupportuverboseusysustdoutuwriteureprucloseusendulower(uselfudata((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_read	s	
	
u;AsyncoreEchoServer.EchoServer.ConnectionHandler.handle_readcCs1|j�tjr-tjjd|j�ndS(Nu server:  closed connection %s
(ucloseusupportuverboseusysustdoutuwriteusocket(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_closes
	u<AsyncoreEchoServer.EchoServer.ConnectionHandler.handle_closecCs�dS(N((uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_errorsu<AsyncoreEchoServer.EchoServer.ConnectionHandler.handle_errorN(	u__name__u
__module__u__qualname__u__init__ureadableu_do_ssl_handshakeuhandle_readuhandle_closeuhandle_error(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuConnectionHandler�suConnectionHandlercCsZ||_tjtjtj�}tj|d�|_tjj	||�|j
d�dS(Nui(ucertfileusocketuAF_INETuSOCK_STREAMusupportu	bind_portuportuasyncoreu
dispatcheru__init__ulisten(uselfucertfileusock((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__init__s
	u&AsyncoreEchoServer.EchoServer.__init__cCs7tjr tjjd|�n|j||j�dS(Nu$ server:  new connection from %s:%s
(usupportuverboseusysustdoutuwriteuConnectionHandlerucertfile(uselfusock_objuaddr((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_accepted$s	u-AsyncoreEchoServer.EchoServer.handle_acceptedcCs�dS(N((uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuhandle_error)su*AsyncoreEchoServer.EchoServer.handle_errorN(	u__name__u
__module__u__qualname__uasyncoreudispatcher_with_senduConnectionHandleru__init__uhandle_accepteduhandle_error(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
EchoServer�s3u
EchoServercCsPd|_d|_|j|�|_|jj|_tjj	|�d|_dS(NFT(uNoneuflaguFalseuactiveu
EchoServeruserveruportu	threadinguThreadu__init__uTrueudaemon(uselfucertfile((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__init__,s		uAsyncoreEchoServer.__init__cCsd|jj|jfS(Nu<%s %s>(u	__class__u__name__userver(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__str__4suAsyncoreEchoServer.__str__cCs$|jtj��|jj�|S(N(ustartu	threadinguEventuflaguwait(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	__enter__7s
uAsyncoreEchoServer.__enter__cGsltjrtjjd�n|j�tjrBtjjd�n|j�tjrhtjjd�ndS(Nu cleanup: stopping server.
u! cleanup: joining server thread.
u cleanup: successfully joined.
(usupportuverboseusysustdoutuwriteustopujoin(uselfuargs((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu__exit__<s	
	
	uAsyncoreEchoServer.__exit__cCs||_tjj|�dS(N(uflagu	threadinguThreadustart(uselfuflag((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyustartFs	uAsyncoreEchoServer.startc	CsRd|_|jr"|jj�nx)|jrMytjd�Wq%Yq%Xq%WdS(NiT(uTrueuactiveuflagusetuasyncoreuloop(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyurunJs		uAsyncoreEchoServer.runcCsd|_|jj�dS(NF(uFalseuactiveuserveruclose(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyustopTs	uAsyncoreEchoServer.stopN(u__name__u
__module__u__qualname__uasyncoreu
dispatcheru
EchoServeru__init__u__str__u	__enter__u__exit__uNoneustarturunustop(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuAsyncoreEchoServer�sD

uAsyncoreEchoServercCs�ttdtjdtdd
dd
�}|�`yMtj��;}tj|d|dtj�}|jt	|j
f�WdQXWn�tjk
r�}z,tj
r�tjjd|jd	�nWYdd}~Xn�tjk
r}z,tj
rtjjd
|jd	�nWYdd}~Xnotk
r|}zC|jtjkrD�ntj
rjtjjdt|��nWYdd}~Xn
Xtd��WdQXdS(u�
        Launch a server with CERT_REQUIRED, and check that trying to
        connect to it with the given client certificate fails.
        ucertreqsucacertsuchattyuconnectionchattyucertfileussl_versionNu
SSLError is %s
iu
socket.error is %s
u\IOError is %s
u'Use of invalid cert should have failed!F(uThreadedEchoServeruCERTFILEusslu
CERT_REQUIREDuFalseusocketuwrap_socketuPROTOCOL_TLSv1uconnectuHOSTuportuSSLErrorusupportuverboseusysustdoutuwriteuargsuerroruIOErroruerrnouENOENTustruAssertionError(ucertfileuserverusockusux((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
bad_cert_testXs.			 	0	0	0u
bad_cert_testsFOO
c
Cs�i}td|d|dd�}|��|jtj���u}|jt|jf�x�|t|�t|�gD]�}|r�t	j
r�tjj
d|�q�n|j
|�|j�}	|r�t	j
r�tjj
d|	�q�n|	|j�krrtd|	dd�t|	�|dd�j�t|�f��qrqrW|j
d	�|rpt	j
rptjj
d
�qpn|ji|j�d6|j�d6|j�d
6�|j�WdQX|j|d<WdQX|S(uc
        Launch a server, connect a client to it and try various reads
        and writes.
        ucontextuchattyuconnectionchattyu client:  sending %r...
u client:  read %r
u4bad data <<%r>> (%d) received; expected <<%r>> (%d)
Nisover
u client:  closing connection.
ucompressionucipheruclient_npn_protocoluserver_npn_protocolsF(uThreadedEchoServeruFalseuwrap_socketusocketuconnectuHOSTuportu	bytearrayu
memoryviewusupportuverboseusysustdoutuwriteureaduloweruAssertionErrorulenuupdateucompressionucipheruselected_npn_protocolucloseuselected_protocols(
uclient_contextuserver_contextuindatauchattyuconnectionchattyustatsuserverusuarguoutdata((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuserver_params_testvsB	"		
	-
		

userver_params_testcCs�|dkrtj}nidtj6dtj6dtj6|}tjr�|rUdpXd}tjj	|tj
|�tj
|�|f�ntj|�}|j|O_tj|�}	|	j|O_xD||	fD]6}
||
_
|
jd�|
jt�|
jt�q�Wyt||	dd
dd
�Wnftjk
rP|rL�nYnwtjk
r�}z#|s}|jtjkr��nWYdd}~Xn2X|s�td	tj
|�tj
|�f��ndS(Nu	CERT_NONEu
CERT_OPTIONALu
CERT_REQUIREDu %s->%s %s
u
 {%s->%s} %s
uALLuchattyuconnectionchattyu5Client protocol %s succeeded with server protocol %s!F(uNoneusslu	CERT_NONEu
CERT_OPTIONALu
CERT_REQUIREDusupportuverboseusysustdoutuwriteuget_protocol_nameu
SSLContextuoptionsuverify_modeuset_ciphersuload_cert_chainuCERTFILEuload_verify_locationsuserver_params_testuFalseuSSLErrorusocketuerroruerrnou
ECONNRESETuAssertionError(userver_protocoluclient_protocoluexpect_successu	certsreqsuserver_optionsuclient_optionsucerttypeu	formatstruclient_contextuserver_contextuctxue((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutry_protocol_combo�sH


		


utry_protocol_combocBs�|EeZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
eeje
ed�d�dd���Zedd��Zedd��Zedd��Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zejd'ejkd(�d)d*��Zd+d,�Zeje
ed-�d.�d/d0��Zd1d2�Zd3d4�Zejej d5�d6d7��Z!d8S(9u
ThreadedTestscCsftjrtjjd�nxCtD];}tj|�}|jt	�t
||dddd�q#WdS(u2Basic test of an SSL client connecting to a serveru
uchattyuconnectionchattyNT(usupportuverboseusysustdoutuwriteu	PROTOCOLSusslu
SSLContextuload_cert_chainuCERTFILEuserver_params_testuTrue(uselfuprotocolucontext((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	test_echo�s	

uThreadedTests.test_echocCs�tjrtjjd�ntjtj�}tj|_	|j
t�|jt�t
d|dd�}|�H|jtj��}|jt|jf�|j�}|j|d�|j�}tjr
tjjtj|�d�tjjdt|�d�nd|kr3|jdtj|��nd|dkrS|jd�n|jd|�|jd
|�tj|d�}tj|d
�}|j||�|j�WdQXdS(Nu
ucontextuchattyuCan't get peer certificate.uConnection cipher is u.
usubjectu$No subject field in certificate: %s.uorganizationNameuPython Software FoundationukMissing or invalid 'organizationName' field in certificate subject; should be 'Python Software Foundation'.u	notBeforeunotAfterF(uorganizationNameuPython Software Foundation((uorganizationNameuPython Software Foundation(usupportuverboseusysustdoutuwriteusslu
SSLContextuPROTOCOL_SSLv23u
CERT_REQUIREDuverify_modeuload_verify_locationsuCERTFILEuload_cert_chainuThreadedEchoServeruFalseuwrap_socketusocketuconnectuHOSTuportugetpeercertu
assertTrueucipherupprintupformatustrufailuassertInucert_time_to_secondsu
assertLessuclose(uselfucontextuserverusucertucipherubeforeuafter((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_getpeercert�s:	

	!	

uThreadedTests.test_getpeercertcCs2ttjjtjjt�p$tjd��dS(u"Connecting with an empty cert fileunullcert.pemN(u
bad_cert_testuosupathujoinudirnameu__file__ucurdir(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_empty_cert�s$uThreadedTests.test_empty_certcCs2ttjjtjjt�p$tjd��dS(u<Connecting with a badly formatted certificate (syntax error)ubadcert.pemN(u
bad_cert_testuosupathujoinudirnameu__file__ucurdir(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_malformed_cert�s$u!ThreadedTests.test_malformed_certcCs2ttjjtjjt�p$tjd��dS(u(Connecting with a non-existing cert fileu
wrongcert.pemN(u
bad_cert_testuosupathujoinudirnameu__file__ucurdir(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_nonexisting_certs$u#ThreadedTests.test_nonexisting_certcCs2ttjjtjjt�p$tjd��dS(u4Connecting with a badly formatted key (syntax error)u
badkey.pemN(u
bad_cert_testuosupathujoinudirnameu__file__ucurdir(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_malformed_keys$u ThreadedTests.test_malformed_keyc
s�tj��tj��tj��tj�t�����fdd�}����fdd�}tjd|�}|j�z|�Wd|j�XdS(u|A brutal shutdown of an SSL server should raise an IOError
            in the client when attempting handshake.
            csK�jd��j��j�\}}|j��j��j�dS(Ni(ulistenusetuacceptuclose(unewsockuaddr(u
listener_goneulistener_readyus(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyulisteners



u2ThreadedTests.test_rude_shutdown.<locals>.listenercsu�j�tj��Y}|jt�f��j�ytj|�}Wntk
r]YnX�jd�WdQXdS(Nu2connecting to closed SSL socket should have failed(uwaitusocketuconnectuHOSTussluwrap_socketuIOErrorufail(ucussl_sock(u
listener_goneulistener_readyuportuself(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	connector!s


u3ThreadedTests.test_rude_shutdown.<locals>.connectorutargetN(	u	threadinguEventusocketusupportu	bind_portuHOSTuThreadustartujoin(uselfulisteneru	connectorut((u
listener_goneulistener_readyuportususelfu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_rude_shutdowns
u ThreadedTests.test_rude_shutdownuPROTOCOL_SSLv2u)OpenSSL is compiled without SSLv2 supportcCstjrtjjd�nttjtjd�ttjtjdtj	�ttjtjdtj
�ttjtjd�ttjtj
d�ttjtjd�t�r�ttjtjddtj�nttjtjddtj�ttjtjddtj�dS(u9Connecting to an SSLv2 server with various client optionsu
uclient_optionsNTF(usupportuverboseusysustdoutuwriteutry_protocol_comboussluPROTOCOL_SSLv2uTrueu
CERT_OPTIONALu
CERT_REQUIREDuPROTOCOL_SSLv23uFalseuPROTOCOL_SSLv3uPROTOCOL_TLSv1uno_sslv2_implies_sslv3_hellouOP_NO_SSLv2uOP_NO_SSLv3uOP_NO_TLSv1(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_protocol_sslv24s		

u!ThreadedTests.test_protocol_sslv2cCs�tjrtjjd�nttd�r�yttjtj	d�Wq�tjtj
fk
r�}z+tjr�tjjdt|��nWYdd}~Xq�Xnttjtjd�ttjtjd�ttjtjd�ttjtjdtj�ttjtjdtj�ttjtjdtj�ttjtjdtj�ttjtjdtj�ttjtjdtj�ttjtjddtj�ttjtjddtjtjB�ttjtjddtj�dS(u:Connecting to an SSLv23 server with various client optionsu
uPROTOCOL_SSLv2u; SSL2 client to SSL23 server test unexpectedly failed:
 %s
Nuserver_optionsTF(usupportuverboseusysustdoutuwriteuhasattrusslutry_protocol_combouPROTOCOL_SSLv23uPROTOCOL_SSLv2uTrueuSSLErrorusocketuerrorustruPROTOCOL_SSLv3uPROTOCOL_TLSv1u
CERT_OPTIONALu
CERT_REQUIREDuFalseuOP_NO_SSLv3uOP_NO_SSLv2uOP_NO_TLSv1(uselfux((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_protocol_sslv23Ks2			'
u"ThreadedTests.test_protocol_sslv23cCs�tjrtjjd�nttjtjd�ttjtjdtj	�ttjtjdtj
�ttd�r�ttjtjd�nttjtjddtj�ttjtjd�t�r�ttjtjddtj�ndS(u9Connecting to an SSLv3 server with various client optionsu
uPROTOCOL_SSLv2uclient_optionsNTF(usupportuverboseusysustdoutuwriteutry_protocol_comboussluPROTOCOL_SSLv3uTrueu
CERT_OPTIONALu
CERT_REQUIREDuhasattruPROTOCOL_SSLv2uFalseuPROTOCOL_SSLv23uOP_NO_SSLv3uPROTOCOL_TLSv1uno_sslv2_implies_sslv3_hellouOP_NO_SSLv2(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_protocol_sslv3os	
	u!ThreadedTests.test_protocol_sslv3cCs�tjrtjjd�nttjtjd�ttjtjdtj	�ttjtjdtj
�ttd�r�ttjtjd�nttjtjd�ttjtjddtj�dS(u8Connecting to a TLSv1 server with various client optionsu
uPROTOCOL_SSLv2uclient_optionsNTF(usupportuverboseusysustdoutuwriteutry_protocol_comboussluPROTOCOL_TLSv1uTrueu
CERT_OPTIONALu
CERT_REQUIREDuhasattruPROTOCOL_SSLv2uFalseuPROTOCOL_SSLv3uPROTOCOL_SSLv23uOP_NO_TLSv1(uself((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_protocol_tlsv1�s	u!ThreadedTests.test_protocol_tlsv1c	
Cs8d}ttd	tjd
ddddd�}d}|��tj�}|jd
�|jt	|j
f�tjr�t
jjd�nxJ|D]B}tjr�t
jjd|�n|r�|j|�|j�}n|j|�|jd�}|j�j�}|dkr^|jd�r^tjr=t
jjd|�ntj|d	tj�}d}q�|dkr�|jd�r�tjr�t
jjd|�n|j�}d}q�tjr�t
jjd|�q�q�Wtjr�t
jjd�n|r|jd�n
|jd�|r$|j�n
|j�WdQXdS(u6Switching from clear text to encrypted and back again.smsg 1sMSG 2sSTARTTLSsMSG 3smsg 4sENDTLSsmsg 5smsg 6ussl_versionustarttls_serveruchattyuconnectionchattyiu
u client:  sending %r...
isoku/ client:  read %r from server, starting TLS...
u- client:  read %r from server, ending TLS...
u client:  read %r from server
u client:  closing connection.
sover
N(smsg 1sMSG 2sSTARTTLSsMSG 3smsg 4sENDTLSsmsg 5smsg 6TF(uThreadedEchoServeruCERTFILEussluPROTOCOL_TLSv1uTrueuFalseusocketusetblockinguconnectuHOSTuportusupportuverboseusysustdoutuwriteureadusendurecvustripuloweru
startswithuwrap_socketuunwrapuclose(	uselfumsgsuserveruwrappedusuindatauconnuoutdataumsg((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
test_starttls�s`			
	
		

									

uThreadedTests.test_starttlscCs$t|t�}tjr+tjjd�nttd��}|j�}WdQXd}dt	|j
tjj
t�df}tjj|�}zu|j�jd�}|rt|�dkr|jt|��}tjrtjjd	t|�|f�qnWd|j�X|j||�dS(
u:Using a SocketServer to create and manage SSL connections.u
urbNuuhttps://%s:%d/%siucontent-lengthiu/ client: read %d bytes from remote server '%s'
(umake_https_serveruCERTFILEusupportuverboseusysustdoutuwriteuopenureaduHOSTuportuosupathusplituurlliburequestuurlopenuinfougetuintulenucloseuassertEqual(uselfuserverufud1ud2uurludlen((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_socketserver�s&	#		uThreadedTests.test_socketservercCspd}tjr"tjjd�nd}tt�}|�0tjt	j	��}|j
d|jf�tjr�tjjd|�n|j|�|j�}tjr�tjjd|�n||j
�kr|jd|dd	�t|�|dd	�j
�t|�f�n|jd
�tjr@tjjd�n|j�tjrftjjd�nWdQXdS(
u'Check the example asyncore integration.uTEST MESSAGE of mixed case
u
sFOO
u	127.0.0.1u client:  sending %r...
u client:  read %r
u4bad data <<%r>> (%d) received; expected <<%r>> (%d)
Nisover
u client:  closing connection.
u client:  connection closed.
(usupportuverboseusysustdoutuwriteuAsyncoreEchoServeruCERTFILEussluwrap_socketusocketuconnectuportureadulowerufailulenuclose(uselfuindatauserverusuoutdata((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_asyncore_server�s4			
	'
	
	u"ThreadedTests.test_asyncore_servercs4tjrtjjd�nttdtjdtj	dtdd)dd*�}|��tjt
j
�dd*dtd	td
tjdtj	���jt|jf��fdd�}�fd
d�}d�jd)gfd�jd*dgfd�jd)gfg}d�jd)gfd�jd*dgfd|d)gfd|d*gfg}d}x1|D])\}}}	}
||jd�}y�|||
��j�}||j�kr|jdjd|d|dd�dt|�d|dd�d t|���nWq]tk
r�}
z^|	r<|jd!jd|��nt|
�j|�ss|jd"jd|d#|
��nWYdd}
~
Xq]Xq]Wx;|D]3\}}}	}
||jd�}y��j|�||
�}||j�kr8|jd$jd|d|dd�dt|�d|dd�d t|���nWq�tk
r�}
zh|	rp|jd%jd|��nt|
�j|�s�|jd"jd|d#|
��n�j�WYdd}
~
Xq�Xq�W|jt �j!d&g�|jt �j"d'�|jt �j#t$d'���jd(��j%�WdQXdS(+u Test recv(), send() and friends.u
ucertreqsussl_versionucacertsuchattyuconnectionchattyuserver_sideucertfileuca_certsu	cert_reqscs-tdd�}�j|�}|d|�S(Nsid(u	bytearrayu	recv_into(ubucount(us(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
_recv_intosu0ThreadedTests.test_recv_send.<locals>._recv_intocs3tdd�}�j|�\}}|d|�S(Nsid(u	bytearrayu
recvfrom_into(ubucountuaddr(us(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu_recvfrom_intosu4ThreadedTests.test_recv_send.<locals>._recvfrom_intousendusendtousome.addressusendallurecvurecvfromu	recv_intou
recvfrom_intouPREFIX_uasciiupWhile sending with <<{name:s}>> bad data <<{outdata:r}>> ({nout:d}) received; expected <<{indata:r}>> ({nin:d})
unameuoutdataNiunoutuindatauninu>Failed to send with method <<{name:s}>>; expected to succeed.
uFMethod <<{name:s}>> failed with unexpected exception message: {exp:s}
uexpurWhile receiving with <<{name:s}>> bad data <<{outdata:r}>> ({nout:d}) received; expected <<{indata:r}>> ({nin:d})
uAFailed to receive with method <<{name:s}>>; expected to succeed.
sdataidsover
TF(&usupportuverboseusysustdoutuwriteuThreadedEchoServeruCERTFILEusslu	CERT_NONEuPROTOCOL_TLSv1uTrueuFalseuwrap_socketusocketuconnectuHOSTuportusendusendtousendallurecvurecvfromuencodeureadulowerufailuformatulenu
ValueErrorustru
startswithuassertRaisesuNotImplementedErrorusendmsgurecvmsgurecvmsg_intou	bytearrayuclose(uselfuserveru
_recv_intou_recvfrom_intousend_methodsurecv_methodsudata_prefixu	meth_nameu	send_methuexpect_successuargsuindatauoutdataueu	recv_meth((usu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_recv_sends�						
	'	
	*
	'	
	!	
uThreadedTests.test_recv_sendcs_tjtj��d}tj��}tj��d����fdd�}tjd|�}|j��j	�z�zRtjtj�}|j
d�|j||f�|jtj
dtj|�Wd|j�XzTtjtj�}tj|�}|j
d�|jtj
d|j||f�Wd|j�XWdd�|j��j�XdS(	Nu	127.0.0.1cs��jd��j�g}xT�sstj�gggd�\}}}�|kr |j�j�d�q q Wx|D]}|j�q{WdS(Nig�������?i(ulistenusetuselectuappenduacceptuclose(uconnsuruwueusock(ufinishuserverustarted(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuserve|s

	$
u3ThreadedTests.test_handshake_timeout.<locals>.serveutargetg�������?u	timed outFT(usocketuAF_INETusupportu	bind_portu	threadinguEventuFalseuThreadustartuwaitu
settimeoutuconnectuassertRaisesRegexutimeoutussluwrap_socketucloseuTrueujoin(uselfuhostuportuserveutuc((ufinishuserverustartedu2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_handshake_timeoutts6





u$ThreadedTests.test_handshake_timeoutcsPtjtj�}tj|_|jt�|jt�tjtj	��d}t
j��}|j�dd��tj��d�d�����fdd�}tjd|�}|j��j�|jtj��}|j||f�|j�}|j�|j��j��j�|j�tj�|j�|�dS(Nu	127.0.0.1userver_sidecs:�jd��j��j�\���jd�dS(Nii(ulistenusetuaccepturecv((uevtupeeruremoteuserver(u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyuserve�s

u/ThreadedTests.test_server_accept.<locals>.serveutargetT(usslu
SSLContextuPROTOCOL_SSLv23u
CERT_REQUIREDuverify_modeuload_verify_locationsuCERTFILEuload_cert_chainusocketuAF_INETusupportu	bind_portuwrap_socketuTrueu	threadinguEventuNoneuThreadustartuwaituconnectugetsocknameucloseujoinuassertIsInstanceu	SSLSocketuassertEqual(uselfucontextuhostuportuserveutuclientuclient_addr((uevtupeeruremoteuserveru2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_server_accept�s0







u ThreadedTests.test_server_acceptc Cs�tjtj�}y|jd�Wn"tjk
rG|jd�YnXttdtjdd��Z}|j	t
j
���<}|jttjf��|j
t|jf�WdQXWdQXWdQX|jdt|jd��dS(NuDESuno DES cipher availableussl_versionuchattyuno shared cipheriF(usslu
SSLContextuPROTOCOL_SSLv23uset_ciphersuSSLErroruskipTestuThreadedEchoServeruCERTFILEuFalseuwrap_socketusocketuassertRaisesuOSErroruconnectuHOSTuportuassertInustruconn_errors(uselfucontextuserverus((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_default_ciphers�s		(u"ThreadedTests.test_default_ciphersu
tls-uniqueu*'tls-unique' channel binding not availablecCsItjrtjjd�nttdtjdtj	dtdddd�}|��tjt
j
�dddtd	td
tjdtj	�}|jt|jf�|jd�}tjr�tjjdj|��n|j|�|jt|�d
�|jd�|j�j�}|j|t|�jd��|j�tjt
j
�dddtd	td
tjdtj	�}|jt|jf�|jd�}tjr�tjjdj|��n|j||�|j|�|jt|�d
�|jd�|j�j�}|j|t|�jd��|j�WdQXdS(u Test tls-unique channel binding.u
ucertreqsussl_versionucacertsuchattyuconnectionchattyuserver_sideucertfileuca_certsu	cert_reqsu
tls-uniqueu! got channel binding data: {0!r}
isCB tls-unique
uus-asciiu) got another channel binding data: {0!r}
NTF(usupportuverboseusysustdoutuwriteuThreadedEchoServeruCERTFILEusslu	CERT_NONEuPROTOCOL_TLSv1uTrueuFalseuwrap_socketusocketuconnectuHOSTuportuget_channel_bindinguformatuassertIsNotNoneuassertEqualulenureadustripurepruencodeucloseuassertNotEqual(uselfuserverusucb_dataupeer_data_reprunew_cb_data((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_tls_unique_channel_binding�s\							


	
		


	u-ThreadedTests.test_tls_unique_channel_bindingcCs�tjtj�}|jt�t||dddd�}tjrct	j
jdj|d��n|j
|ddddh�dS(Nuchattyuconnectionchattyu got compression: {!r}
ucompressionuZLIBuRLET(usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuserver_params_testuTrueusupportuverboseusysustdoutuwriteuformatuassertInuNone(uselfucontextustats((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_compressions
	 uThreadedTests.test_compressionuOP_NO_COMPRESSIONu*ssl.OP_NO_COMPRESSION needed for this testcCsdtjtj�}|jt�|jtjO_t||dddd�}|j	|dd�dS(NuchattyuconnectionchattyucompressionT(usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuoptionsuOP_NO_COMPRESSIONuserver_params_testuTrueuassertIsuNone(uselfucontextustats((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_compression_disableds
u'ThreadedTests.test_compression_disabledcCs�tjtj�}|jt�|jt�|jd�t||dddd�}|dd}|j
d�}d|kr�d|kr�d	|kr�|jd
|d�ndS(NukEDHuchattyuconnectionchattyucipheriu-uADHuEDHuDHEuNon-DH cipher: T(usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuload_dh_paramsuDHFILEuset_ciphersuserver_params_testuTrueusplitufail(uselfucontextustatsucipheruparts((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_dh_params)s


$uThreadedTests.test_dh_paramscCsRtjtj�}|jt�t||dddd�}|j|dd�dS(Nuchattyuconnectionchattyuclient_npn_protocolT(	usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuserver_params_testuTrueuassertIsuNone(uselfucontextustats((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_selected_npn_protocol6s

u(ThreadedTests.test_selected_npn_protocolu NPN support needed for this testcCsiddg}ddgdfddgdfddgdfddgdfg}x|D]\}}tjtj�}|jt�|j|�tjtj�}|jt�|j|�t||dddd�}dt|�t|�t|�f}|d	}	|j	|	|||	d
f�t
|d�r>|ddnd
}
|j	|
|||
df�qUWdS(Nuhttp/1.1uspdy/2utestuabcudefuchattyuconnectionchattyuKfailed trying %s (s) and %s (c).
was expecting %s, but got %%s from the %%suclient_npn_protocoluclientuserver_npn_protocolsiunothinguserverTi����(usslu
SSLContextuPROTOCOL_TLSv1uload_cert_chainuCERTFILEuset_npn_protocolsuserver_params_testuTrueustruassertEqualulen(uselfuserver_protocolsuprotocol_testsuclient_protocolsuexpecteduserver_contextuclient_contextustatsumsgu
client_resultu
server_result((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyutest_npn_protocols>s*




$u ThreadedTests.test_npn_protocolsN("u__name__u
__module__u__qualname__uskip_if_broken_ubuntu_sslu	test_echoutest_getpeercertutest_empty_certutest_malformed_certutest_nonexisting_certutest_malformed_keyutest_rude_shutdownuunittestu
skipUnlessuhasattrusslutest_protocol_sslv2utest_protocol_sslv23utest_protocol_sslv3utest_protocol_tlsv1u
test_starttlsutest_socketserverutest_asyncore_serverutest_recv_sendutest_handshake_timeoututest_server_acceptutest_default_ciphersuCHANNEL_BINDING_TYPESutest_tls_unique_channel_bindingutest_compressionutest_compression_disabledutest_dh_paramsutest_selected_npn_protocoluHAS_NPNutest_npn_protocols(u
__locals__((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu
ThreadedTests�s8 )$:s1&;		
u
ThreadedTestscCs�tjr�itjd6tjd6tjd6}xY|j�D]9\}}|�}|r:|dr:d||f}Pq:q:Wttj��}tdt	j
t	jf�td|�tdt	j�nxTt
tttttttttg
D].}tjj|�s�tjd	|��q�q�Wtttg}tjd
�rJ|jt �nt!rutj"�}|ru|jt#�qunztj$|�Wdt!r�tj%|�nXdS(NuLinuxuMacuWindowsiu%s %rutest_ssl: testing with %r %ru          under %su          HAS_SNI = %ruCan't read certificate file %runetwork(&usupportuverboseuplatformulinux_distributionumac_veru	win32_veruitemsurepruprintussluOPENSSL_VERSIONuOPENSSL_VERSION_INFOuHAS_SNIuCERTFILEuREMOTE_ROOT_CERTuBYTES_CERTFILEuONLYCERTuONLYKEYuBYTES_ONLYCERTu
BYTES_ONLYKEYuBADCERTuBADKEYu	EMPTYCERTuosupathuexistsu
TestFaileduContextTestsuBasicSocketTestsu
SSLErrorTestsuis_resource_enableduappenduNetworkedTestsu
_have_threadsuthreading_setupu
ThreadedTestsurun_unittestuthreading_cleanup(uverboseuplatsunameufuncuplatufilenameutestsuthread_info((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu	test_main\s@	


		u	test_mainu__main__(Ousysuunittestutestusupportusocketuselectutimeugcuosuerrnoupprintutempfileuurllib.requestuurllibu	tracebackuasyncoreuweakrefuplatformu	functoolsu
import_moduleussluPROTOCOL_SSLv3uPROTOCOL_SSLv23uPROTOCOL_TLSv1u	PROTOCOLSuhasattruappenduPROTOCOL_SSLv2uHOSTu	data_fileuCERTFILEufsencodeuBYTES_CERTFILEuONLYCERTuONLYKEYuBYTES_ONLYCERTu
BYTES_ONLYKEYuCERTFILE_PROTECTEDuONLYKEY_PROTECTEDuKEY_PASSWORDuCAPATHuBYTES_CAPATHu
CAFILE_CACERTuREMOTE_HOSTuREMOTE_ROOT_CERTu	EMPTYCERTuBADCERTu	WRONGCERTuBADKEYu	NOKIACERTuNULLBYTECERTuDHFILEuBYTES_DHFILEuhandle_errorucan_clear_optionsuno_sslv2_implies_sslv3_hellouskip_if_broken_ubuntu_ssluTestCaseuBasicSocketTestsuContextTestsu
SSLErrorTestsuNetworkedTestsu	threadinguImportErroruFalseu
_have_threadsuTrueutest.ssl_serversumake_https_serveruThreaduThreadedEchoServeruAsyncoreEchoServeru
bad_cert_testuserver_params_testuNoneutry_protocol_combou
ThreadedTestsu	test_mainu__name__(((u2/opt/alt/python33/lib64/python3.3/test/test_ssl.pyu<module>s�	���)�
�t)-���*