403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/test_asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/test_asyncio/__pycache__/test_ssl.cpython-313.pyc
�

��i�����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
rSSKrSSKrSSK
r
SSKJr SSKJr \R(S:Hr\(dSOSr\R.rSr"SS	\R45r"S
S\R85r\R<"\
SLS5"S
S\R>55r "SS5r!"SS\RD5r#"SS\#5r$"SS\#5r%g!\a Sr
N�f=f)�N)�support)�utils�darwin��@c�0�[R"S5 g�N)�asyncio�set_event_loop_policy���/C:\Python313\\Lib\test\test_asyncio\test_ssl.py�tearDownModuler!s���!�!�$�'r
c�>�\rSrSrSrSrS	SjrSrSrSr	Sr
Srg)
�MyBaseProto�%Nc��SUlSUlSUlUb3[R"US9Ul[R"US9Ulgg)N�INITIALr��loop)�	transport�state�nbytesr
�Future�	connected�done��selfrs  r�__init__�MyBaseProto.__init__)sB�������
������$�^�^��6�D�N����D�1�D�I�r
c��XlURS:XdUR5eSUlUR(aURRS5 gg)Nr�	CONNECTED)rrr�
set_result�rrs  r�connection_made�MyBaseProto.connection_made1sG��"���z�z�Y�&�2��
�
�2�&� ��
��>�>��N�N�%�%�d�+�r
c��URS:XdUR5eU=R[U5-
slg)Nr")rr�len�r�datas  r�
data_received�MyBaseProto.data_received8s/���z�z�[�(�4�$�*�*�4�(����s�4�y� �r
c�T�URS:XdUR5eSUlg)Nr"�EOF)r�rs r�eof_received�MyBaseProto.eof_received<s$���z�z�[�(�4�$�*�*�4�(���
r
c��URS;dUR5eSUlUR(aURRS5 gg)N)r"r.�CLOSED)rrr#�r�excs  r�connection_lost�MyBaseProto.connection_lost@sC���z�z�1�1�=�4�:�:�=�1���
��9�9��I�I� � ��&�r
)rrrrrr	)�__name__�
__module__�__qualname__�__firstlineno__rrrr%r+r0r6�__static_attributes__rr
rrr%s%���I��D�2�,�!��'r
rc� �\rSrSrSrSrSrg)�MessageOutFilter�Gc��Xlgr	��msg)rrBs  rr�MessageOutFilter.__init__Hs���r
c�:�URUR;agg)NFTrA)r�records  r�filter�MessageOutFilter.filterKs���8�8�v�z�z�!��r
rAN)r8r9r:r;rrFr<rr
rr>r>Gs���r
r>z
No ssl modulec�^�\rSrSrSr\RrU4SjrU4Sjr	\
RS\RSSS.S	jr
\
R\R4S
jrSrSrS2S
jrSS.Sjr\R(S5rSrSrSrSr\R4"SSSS9S5rSrSrSrSrSr S r!S3S!jr"S"r#S#r$S$r%S%r&S&r'S'r(\R4"SSSS9S(5r)S)r*S*r+S+r,S,r-S-r.S.r/S/r0S0r1S1r2U=r3$)4�TestSSL�Qi�c��>�[TU]5 [R"5UlURUR5 UR
URR5 gr	)�super�setUpr
�new_event_loopr�set_event_loop�
addCleanup�close�r�	__class__s �rrM�
TestSSL.setUpWsB���
��
���*�*�,��	����D�I�I�&�����	�	���(r
c��>�URR5(d [R"UR5 UR	5 [
R"5 [TU]!5 gr	)	r�	is_closed�
test_utils�run_briefly�
doCleanupsr�
gc_collectrL�tearDownrRs �rr[�TestSSL.tearDown]sI����y�y�"�"�$�$��"�"�4�9�9�-���������
���r
N��
)�family�addr�timeout�backlog�max_clientsc��UcBU[[SS5:Xa+[R"5nURnSSS5 OSn[R"U[R
5nUc[
S5eUS::a[
S5eURU5 URU5 URU5 [XXU5$!,(df   N�=f![an	UR5 U	eSn	A	ff=f)N�AF_UNIX��	127.0.0.1r�timeout is requiredr�#only blocking sockets are supported)
�getattr�socket�tempfile�NamedTemporaryFile�name�SOCK_STREAM�RuntimeError�
settimeout�bind�listen�OSErrorrQ�TestThreadedServer)
r�server_progr_r`rarbrc�tmp�sock�exs
          r�
tcp_server�TestSSL.tcp_serverfs����<�����D�9�9��0�0�2�c��8�8�D�3�2�(���}�}�V�V�%7�%7�8���?��4�5�5��a�<��D�E�E����� �	��I�I�d�O��K�K�� �
"���k�;�	;�)3�2�� �	��J�J�L��H��	�s#�
C�"C�
C�
C=�&C8�8C=c���[R"U[R5nUc[S5eUS::a[S5eURU5 [	XX5$)Nrhrri)rkrorprq�TestThreadedClient)r�client_progr_rarxs     r�
tcp_client�TestSSL.tcp_client�s\���}�}�V�V�%7�%7�8���?��4�5�5��a�<��D�E�E����� �!���.�	.r
c�F�UR"US[R0UD6$�Nr_)rzrkre�r�args�kwargss   r�unix_server�TestSSL.unix_server��������F�V�^�^�F�v�F�Fr
c�F�UR"US[R0UD6$r�)rrkrer�s   r�unix_client�TestSSL.unix_client�r�r
c��[R"[R5nU=R[R-slURX5 U$r	)�ssl�
SSLContext�PROTOCOL_TLS_SERVER�options�OP_NO_SSLv2�load_cert_chain)r�certfile�keyfile�
sslcontexts    r�_create_server_ssl_context�"TestSSL._create_server_ssl_context�s?���^�^�C�$;�$;�<�
����c�o�o�-���"�"�8�5��r
T��disable_verifyc�v�[R"5nSUlU(a[RUlU$�NF)r��create_default_context�check_hostname�	CERT_NONE�verify_mode)rr�r�s   r�_create_client_ssl_context�"TestSSL._create_client_ssl_context�s-���/�/�1�
�$)�
�!��%(�]�]�J�"��r
c#��# �[R"S5n[S5nURU5 Sv� UR	U5 g!UR	U5 f=f7f)Nr
zhas no effect when using ssl)�logging�	getLoggerr>�	addFilter�removeFilter)r�loggerrFs   r�_silence_eof_received_warning�%TestSSL._silence_eof_received_warning�sT����"�"�9�-��!�"@�A������ �	(������'��F����'�s�3A"�A�A"�A�A"c��URR5 URU5 g!URU5 f=fr	)r�stop�fail�rrys  r�_abort_socket_test�TestSSL._abort_socket_test�s,��	��I�I�N�N���I�I�b�M��D�I�I�b�M�s	�.�Ac�,�[R"5$r	)r
rNr/s r�new_loop�TestSSL.new_loop�s���%�%�'�'r
c�,�[R"5$r	)r
�DefaultEventLoopPolicyr/s r�
new_policy�TestSSL.new_policy�s���-�-�/�/r
c��# �[U[R5(dgUR5IShv�N gN![[
4a gf=f7fr	)�
isinstancer
�StreamWriter�wait_closed�BrokenPipeError�ConnectionError)r�objs  rr��TestSSL.wait_closed�sF����#�w�3�3�4�4��	��/�/�#�#�#����1�	��	�s1�!A�?�=�?�A�?�A�A�A�A�i�F)�size�memuse�dry_runc�^^^^^^^	^
^^^
�SmUm[RmS[-mS[-mTR[R
[R5mTR5m	/m
UUUU4SjmUUU	U
U4Sjm
UUUUUU
4SjnTR5 TRRU"55 SSS5 TRTT5 T
HnUR5 M g!,(df   N:=f)Nr�AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA�BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBc��># �UR[T55IShv�NnTRUT5 URS5 UR[T55IShv�NnTRUT5 UR	S[S5[
S5/5 UR5IShv�N UR5 TS-
mgN�NlN7f�N�OKsSP�A�Mr]�	�readexactlyr(�assertEqual�write�
writelines�	bytearray�
memoryview�drainrQ��reader�writerr*�A_DATA�B_DATA�CNTrs   ����r�
handle_client�7TestSSL.test_create_server_ssl_1.<locals>.handle_client������ �+�+�C��K�8�8�D����T�6�*��L�L����+�+�C��K�8�8�D����T�6�*����u�i��o�z�$�7G�H�I��,�,�.� � ��L�L�N��1�H�C�9�9�
!��5�C�C�AC�&C�'AC�6C�7C�C�Cc���>^^# �[R"5mUUUUUU4SjnTRU5nUR5 TR	U5 TIShv�N gN7f)Nc�>�URT5 URT5 URT5 URS5nTR	US5 URT5 URS5nTR	US5 UR5 TRRTRS5 g![a0nTRRTRU5 SnAgSnAff=f)N�r���SPAM)�starttls�connect�send�recv_allr�rQr�call_soon_threadsafer#�	Exception�
set_exception)	rxr*ryr�r�r`�
client_sslctx�futrs	   ������r�prog�CTestSSL.test_create_server_ssl_1.<locals>.test_client.<locals>.prog�s����I��M�M�-�0��L�L��&��I�I�f�%��=�=��+�D��$�$�T�5�1��I�I�f�%��=�=��+�D��$�$�T�7�3��J�J�L�
�I�I�2�2�3�>�>�4�H��!�J��I�I�2�2�3�3D�3D�b�I�I��J�s�BC�
C>�&C9�9C>�r
rr�start�append)	r`r��clientr�r�r�r��clientsrs	`  @�����r�test_client�5TestSSL.test_create_server_ssl_1.<locals>.test_client�sJ�����.�.�"�C�
I�
I�(�_�_�T�*�F��L�L�N��N�N�6�"��I�I�s�AA%�A#�A%c	��># �[R"TSS[RT	[S9IShv�NnUR
nTR
U5 USR5n/n[T5HnURT
"U55 M [R"[R"U6T5IShv�N TRRUR5 UR5IShv�N gN�NDN	!TRRUR5 UR5IShv�N f=f7f)Nrgr)r_r��ssl_handshake_timeout)r
�start_serverrk�AF_INET�HANDSHAKE_TIMEOUT�sockets�
assertTrue�getsockname�ranger��wait_for�gatherr�	call_soonrQr�)�srv�	srv_socksr`�tasks�_�TIMEOUT�	TOTAL_CNTr�r�sslctxr�s     ������rr��6TestSSL.test_create_server_ssl_1.<locals>.start_servers�����,�,���Q��~�~��&7�9�9�C�
(��K�K�	����	�*� ��|�/�/�1�����y�)�A��L�L��T�!2�3�*��&�&�w�~�~�u�'=�w�G�G�G��	�	�#�#�C�I�I�.��o�o�'�'�'�+9�"H�(���	�	�#�#�C�I�I�.��o�o�'�'�'��W�/E
�D�E
�BD�>D�?D�8E
�;D�<E
�D�E
�9E�E�E�E
)
r�LONG_TIMEOUT�BUF_MULTIPLIERr�rW�ONLYCERT�ONLYKEYr�r�r�run_until_completer�r�)rr�r�r�r�r�r�rrr�r�r�rr�s`   @@@@@@@@@@r�test_create_server_ssl_1� TestSSL.test_create_server_ssl_1�s��������	��&�&���~�-���~�-���0�0�����!3�!3�
���7�7�9�
���	�	� 	�	�:	(�	(�0�
/�
/�
1��I�I�(�(���8�2�	
����i�(��F��K�K�M��2�
1�s� !C5�5
Dc�^^^^^^^	^
�TRRS5 SmSmS[-mS[-mTR[R
[R5m
TR5mUUUU
4Sjm	UUUUU4SjnUUUUU4SjnUUUU	4SjnTR5 U"U5 SSS5 TR5 U"U5 SSS5 g!,(df   N0=f!,(df   g=f)	Nrr�r�r�c�:>�URTSS9 UR[T55nTRUT5 UR	S5 UR[T55nTRUT5 UR	S5 UR5 g)NT��server_sider�r�)r�r�r(r�r�rQ)rxr*r�r�rrs  ����r�server�4TestSSL.test_create_connection_ssl_1.<locals>.server3s�����M�M�� �
�
"��=�=��V��-�D����T�6�*��I�I�e���=�=��V��-�D����T�6�*��I�I�g���J�J�Lr
c��># �[R"UTS[S.6IShv�NupURT5 TR	URS5IShv�NS5 URT5 TR	URS5IShv�NS5 TS-
mUR
5 TRU5IShv�N gN�NtN<N7f)N��r��server_hostnamer�r�r�r�r�r])r
�open_connectionr�r�r�r�rQr�)r`r�r�r�r�r�r�rs   �����rr��4TestSSL.test_create_connection_ssl_1.<locals>.clientBs�����#*�#:�#:��!� "�&7�	$9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�%�@��L�L�� ����6�#5�#5�a�#8�8�'�B�
�1�H�C��L�L�N��"�"�6�*�*�*�!9�9�9�
+�sE� C�C
�6C�C�9C�C�2C�C�C�C�C�Cc��># �[R"5nURU5 [R"UTS[S9IShv�Nup#URT5 TR
URS5IShv�NS5 URT5 TR
URS5IShv�NS5 TS-
mUR5 TRU5IShv�N UR5 gN�N�NLN7f)Nr)rxr�rr�r�r�r�r�r])
rkr�r
rr�r�r�r�rQr�)	r`rxr�r�r�r�r�r�rs	    �����r�client_sock�9TestSSL.test_create_connection_ssl_1.<locals>.client_sockUs������=�=�?�D��L�L���#*�#:�#:��!� "�&7�	$9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�%�@��L�L�� ����6�#5�#5�a�#8�8�'�B�
�1�H�C��L�L�N��"�"�6�*�*�*��J�J�L�#9�9�9�
+�sH�AD
�D�	6D
�?D�9D
�9D�:2D
�,D�-D
�D
�D
�D
c�0>�SmSnTRTTTS9n/n[T5H$nURU"UR55 M& TRRU"U65 SSS5 TR
TT5 g!,(df   N!=f)Nrc��D# �[R"U6IShv�N$N7fr	�r
r��rs r�_gather�BTestSSL.test_create_connection_ssl_1.<locals>.run.<locals>._gatheros���$�^�^�U�3�3�3�3��� �� �rcrb�rzr�r�r`rr
r��	�coror#rrrr�rrrs	     ����r�run�1TestSSL.test_create_connection_ssl_1.<locals>.runks�����C�
4�����-6�)2�!�4�7:����y�)�A��L�L��c�h�h��0�*��	�	�,�,�W�e�_�=�4�
���S�)�,�4�4���AB�
B)	r�set_exception_handlerr
r�rWrrr�r�)rr�rr*r�r�r�rr�rrs`   @@@@@@@r�test_create_connection_ssl_1�$TestSSL.test_create_connection_ssl_1$s�����	�	�'�'��-����	��~�-���~�-���0�0�������
���7�7�9�
�
	�
	�	+�	+�&	�	�,	-�	-�&�
/�
/�
1���K�2��
/�
/�
1����2�
1�2�
1��2�
1�s�.	C!�	C2�!
C/�2
Dc�^^�TR5mTRRS5 SnUU4SjnTRUSSS9nTR	[
S5 TRR
U"UR55 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��gr	r�r�s r�<lambda>�CTestSSL.test_create_connection_ssl_slow_handshake.<locals>.<lambda>����dr
c��URS5 UR5 g![a Nf=f!UR5 f=f�N��r��ConnectionAbortedErrorrQ�rxs rr�ATestSSL.test_create_connection_ssl_slow_handshake.<locals>.server�s>��
��
�
�k�*��
�
���*�
��
���
�
��s�$�
1�4�1�4�Ac��># �[R"UTSSS.6IShv�NupUR5 TRU5IShv�N gN0N7f)Nrg�?r)r
rrQr��r`r�r�r�rs   ��rr��ATestSSL.test_create_connection_ssl_slow_handshake.<locals>.client�sR����#*�#:�#:��!� "�&)�	$+�+�N�F�

�L�L�N��"�"�6�*�*�*�
+�
+�s!�A�A�*A�
A�A�Ar]r&zSSL handshake.*is taking longer)r�rr-rz�assertRaisesRegexr:r
r`)rrr�rr�s`   @r�)test_create_connection_ssl_slow_handshake�1TestSSL.test_create_connection_ssl_slow_handshake�s�����7�7�9�
�	
�	�	�'�'�(:�;�	�	+��_�_�V�)*�%&��(�+.��'�'�*�6�8��	�	�,�,�V�C�H�H�-=�>�	8�	(�(�8�8��	(�(�s$�
B/�!,B�
B/�
B,	�(B/�/
B=c��^^^�TRRS5 TR[R[R
5mTR
SS9mU4SjnUU4SjnTRUSSS9nTR[R5 TRRU"UR55 SSS5 SSS5 g!,(df   N=f!,(df   g=f)Nc��gr	rr2s rr3�GTestSSL.test_create_connection_ssl_failed_certificate.<locals>.<lambda>�r5r
Fr�c��>�URTSS9 UR5 UR5 g![R[4a N-f=f!UR5 f=f)NTr)r�r�r��SSLErrorrtrQ)rxrs �rr�ETestSSL.test_create_connection_ssl_failed_certificate.<locals>.server�s^���
��
�
�� $��&������
�
����L�L�'�*�
��
���
�
��s!� 4�A�A�A�A�A&c��># �[R"UTS[S.6IShv�NupUR5 TR	U5IShv�N gN0N7f)Nrr)r
rr�rQr�r>s   ��rr��ETestSSL.test_create_connection_ssl_failed_certificate.<locals>.client�sR����#*�#:�#:��!� "�&7�	$9�9�N�F�

�L�L�N��"�"�6�*�*�*�
9�
+�s!� A�A�*A�A�A�Ar]r&)
rr-r�rWrrr�rz�assertRaisesr��SSLCertVerificationErrorr
r`)rrr�rr�rs`   @@r�-test_create_connection_ssl_failed_certificate�5TestSSL.test_create_connection_ssl_failed_certificate�s�����	�	�'�'�(:�;��0�0�������
���7�7�u�7�M�
�		�	+��_�_�V�)*�%&��(�+.��"�"�3�#?�#?�@��	�	�,�,�V�C�H�H�-=�>�A�	(�(�A�@��	(�(�s$�; C)�,C�C)�
C&	�"C)�)
C7c�^^^^�[R"5m/mTRRU4Sj5 SmU4SjnUU4SjnTR	USSS9nTR[R5 TRRU"UR55 SSS5 SSS5 TRT5 TRT/5 g!,(df   N:=f!,(df   NC=f)Nc�&>�TRU5$r	)r�)r�ctx�messagess  �rr3�4TestSSL.test_ssl_handshake_timeout.<locals>.<lambda>�s���(�/�/�#�:Nr
Fc�>�URS5 UR5 g![a SmNf=f!UR5 f=f)Nr8Tr9)rx�server_side_aborteds �rr�2TestSSL.test_ssl_handshake_timeout.<locals>.server�sB���
��
�
�k�*��
�
���*�
+�&*�#�
+���
�
��s�%�4�7�4�7�A	c	��># �[R"TRR"[R/UQ7TSSS.6S5IShv�N gN7f)Nrg$@r��?)r
r�r�create_connection�Protocol)r`r�rs ��rr��2TestSSL.test_ssl_handshake_timeout.<locals>.client�sV�����"�"��	�	�+�+��$�$�0��0�&�$&�*.�0���
�
�s�A	A�A�
Ar]r&)rW�simple_client_sslcontextrr-rzrKr
�TimeoutErrorr
r`r�r�)rrr�rr�rRrUs`   @@@r�test_ssl_handshake_timeout�"TestSSL.test_ssl_handshake_timeout�s����#�;�;�=�
����	�	�'�'�(N�O�#��	�	��_�_�V�)*�%&��(�+.��"�"�7�#7�#7�8��	�	�,�,�V�C�H�H�-=�>�9�	(�	
���+�,�	
����2�&�9�8��	(�(�s$� C,�;,C�'C,�
C)	�%C,�,
C:c�h^^^^^�[R"5mTRRS5 SmSmSn"UU4SjS[R
5mUUU4SjnTR
USSS9nTR[5 TRRU"UR55 SSS5 SSS5 T(a+T(aTRS	5 gTRS
5 gT(aTRS5 gg!,(df   Nb=f!,(df   Nk=f)Nc��gr	r�rrQs  rr3�<TestSSL.test_ssl_handshake_connection_lost.<locals>.<lambda>����$r
Fc�F�URS5 UR5 g)Nr)�recvrQr;s rr�:TestSSL.test_ssl_handshake_connection_lost.<locals>.servers���I�I�d�O��J�J�Lr
c�.>�\rSrSrU4SjrU4SjrSrg)�?TestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProtoic�
>�Smg�NTr)rr�connection_made_calleds  �rr%�OTestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProto.connection_made�	���)-�&r
c�
>�Smgrkr)rr5�connection_lost_calleds  �rr6�OTestSSL.test_ssl_handshake_connection_lost.<locals>.ClientProto.connection_lostrnr
rN)r8r9r:r;r%r6r<)rprls��r�ClientProtoris���
.�
.�
.r
rrc��f># �TRR"T/UQ7TSS.6IShv�N4 gN7f)Nr)r�r)rrY)r`rrr�rs ���rr��:TestSSL.test_ssl_handshake_connection_lost.<locals>.clients?�����)�)�-�-��$��$�"� "�	$�
$�
%�
$�s�%1�/�1r]r&z$unexpected call to connection_lost()zEunexpected call to connection_lost() withoutcalling connection_made()z$unexpected call to connection_made())rWr\rr-r
rZrzrK�ConnectionResetErrorr
r`r�)rrr�rrrr�rprls`   @@@@r�"test_ssl_handshake_connection_lost�*TestSSL.test_ssl_handshake_connection_lost�s����#�;�;�=�
�	
�	�	�'�'�(>�?�!&��!&��	�
	.�	.�'�*�*�	.�	%��_�_�V�)*�%&��(�+.��"�"�#7�8��	�	�,�,�V�C�H�H�-=�>�9�	(�"�%��	�	�@�A��	�	�6�7�
#��I�I�<�=�$�9�8��	(�(�s$�4D#�
,D�6D#�
D 	�D#�#
D1c��[Rn[R"U5nUR[R
[R5 [US5(aSUl[RUl
[R"U5n[US5(aSUl[RUl
g)Nr�F)r�r�r�r�rWrr�hasattrr�r�r�)r�proto�server_context�client_contexts    r� test_ssl_connect_accepted_socket�(TestSSL.test_ssl_connect_accepted_socket&s����'�'������.���&�&�z�':�':�J�<N�<N�O��>�#3�4�4�,1�N�)�%(�]�]��"�����.���>�#3�4�4�,1�N�)�%(�]�]��"r
c�^^^
^^^^�URm"U
U4SjS[5n[R"[R5nUR	S5 URS5 UR
5mSmSmSm
UUUU4Sjn[R"USS	9nUR5 UR5upxU"TS
9mTTl0n	U(a
[[S9n	TRTR"U4SjU4S
U0U	D65n
TR5 UR!5 UR!5 UR#S5 UR%UR'55 UR)TR*S5 UR)TR,[/T55 UR)TT
5 U
R15up�U(a&UR3SUR4R65 UR!5 URR9[:R<"S55 g)Nc�:>^�\rSrSrUU4SjrUU4SjrSrU=r$)�5TestSSL.test_connect_accepted_socket.<locals>.MyProtoi6c�Z>�[TU]U5 TRTR5 gr	)rLr6r�r�)rr5rSrs  ��rr6�ETestSSL.test_connect_accepted_socket.<locals>.MyProto.connection_lost8s �����'��,����t�y�y�)r
c�Z>�[TU]U5 URRT5 gr	)rLr+rr�)rr*rS�expected_responses  ��rr+�CTestSSL.test_connect_accepted_socket.<locals>.MyProto.data_received<s#�����%�d�+����$�$�%6�7r
r)r8r9r:r;r6r+r<�
__classcell__)rSr�rs@��r�MyProtor�6s���
*�
8�
8r
r�rfr]s	test datasrogerc�D>�[R"[R5nTbTRU5nURT5 UR	T5 URS5mUR
5 g![an[SU5 SnAgSnAff=f)N�cz8Failure in client thread in test_connect_accepted_socket)	rkr��wrap_socketr��sendallrfrQr��print)�csockr5r`�
client_ssl�message�responses  ����rr��4TestSSL.test_connect_accepted_socket.<locals>.clientIs����
��
�
�f�n�n�5���)�&�2�2�5�9�E��
�
�d�#��
�
�g�&� �:�:�b�>�����
���
��N�����
�s�A;A?�?
B�	B�BT)�target�daemonr)r�c�>�T$r	r�rzs�rr3�6TestSSL.test_connect_accepted_socket.<locals>.<lambda>es���r
r�r3�SSL皙�����?)rrrkr�rrrsr��	threading�Threadr��accept�dictr��create_task�connect_accepted_socket�run_foreverrQ�join�assertFalse�is_aliver�rrr(�result�assertInrSr8r
r
�sleep)r�
server_sslr�r��lsockr��thread�connr�extras�f�trr`r�rr�rzr�s  `         @@@@@@r�test_connect_accepted_socket�$TestSSL.test_connect_accepted_socket3s�����y�y��	8�	8�k�	8��
�
�f�n�n�-��
�
�
�#�$�
���Q��� � �"������$��
	�
	��!�!���=�������,�,�.����T�"����
�����0A�B�F�����(�(���
�+5�
��
�
��	
�����
�
��
���
����A��������*�+�������h�/�������s�7�|�4�����#4�5����
�����M�M�%����!6�!6�7�
���
��	�	�$�$�W�]�]�3�%7�8r
c�^^^�TRRS5 [R"5m[R"5mU4SjnUU4SjnTRUSSS9nTRR
U"UR55nSSS5 TRWS5 g!,(df   N!=f)Nc��gr	rrbs  rr3�=TestSSL.test_start_tls_client_corrupted_ssl.<locals>.<lambda>zrdr
c�l>�UR5nURTSS9 URS5 URS5 UR	S5 UR5 UR5 g![
Ra N7f=f!UR5 UR5 f=f)NTr�A
r]s!please corrupt the SSL connection)�dupr�r�r�r�r�rGrQ)rx�	orig_sockrs  �rr�;TestSSL.test_start_tls_client_corrupted_ssl.<locals>.servers�������
�I�
"��
�
�� $��&����V�$��
�
�a� ����C�D��
�
�����!��	�<�<�
��
���
�
�����!�s$�AA7�7B�B�
B�B�"B3c��># �[R"UTS[S.6IShv�NupTRUR	5IShv�NS5 URS5 TR
[R5 UR	5IShv�N SSS5 UR5 TRU5IShv�N gN�N�N;!,(df   N?=fN![Ra gf=f7f)Nrrr��B�OK)r
rr�r��readliner�rKr�rGrQr�r>s   ��rr��;TestSSL.test_start_tls_client_corrupted_ssl.<locals>.client�s�����#*�#:�#:��!� "�&7�	$9�9�N�F�
���6�?�?�#4�4�f�=��L�L����"�"�3�<�<�0��o�o�'�'�'�1��L�L�N�
��&�&�v�.�.�.��9�5�(�1�0��/���<�<�
���
�s�� D�C�$D�C�	9D�C�C�C�D�4C'�C%�	C'�
D�D�C�
C"�D�%C'�'C>�;D�=C>�>Dr]r&r�)	rr-rW�simple_server_sslcontextr\rzr
r`r�)rrr�r�resr�rs`    @@r�#test_start_tls_client_corrupted_ssl�+TestSSL.test_start_tls_client_corrupted_sslys�����	�	�'�'�(>�?��4�4�6��"�;�;�=�
�
	"�	�$�_�_�V�)*�%&��(�+.��)�)�.�.�v�c�h�h�/?�@�C�	(�	
����d�#�
(�(�s�(,B/�/
B=c��^^^^^�STR-m[R"5m[R"5mUUU4Sjn"U4SjS[R
5mUUUU4SjnTR
UTRS9nTRR[R"U"UR5[RS95 SSS5 g!,(df   g=f)N�1c�>�URTR5 UR[T55nTR	[U5[T55 URTSS9 UR
S5 UR[T55nTR	[U5[T55 UR5 UR5 g�NTr�O�	rqrr�r(r�r�r��unwraprQ�rxr*�	HELLO_MSGrr{s  ���r�serve�8TestSSL.test_start_tls_client_reg_proto_1.<locals>.serve�s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lr
c�4>�\rSrSrSrU4SjrSrSrSrg)�>TestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProtoi�c�*�XlX lSUlg�Nr��on_data�on_eof�con_made_cnt�rr�r�s   rr�GTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.__init__����&��$��$%��!r
c�h>�U=RS-
slTRURS5 g�Nr]�r�r��rzr�rs  �rr%�NTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.connection_made��*����"�"�a�'�"�� � ��!3�!3�Q�7r
c�:�URRU5 gr	�r�r#r)s  rr+�LTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.data_received�������'�'��-r
c�:�URRS5 grk�r�r#r/s rr0�KTestSSL.test_start_tls_client_reg_proto_1.<locals>.ClientProto.eof_received�������&�&�t�,r
�r�r�r�N�	r8r9r:r;rr%r+r0r<r/s�rrrr������
&�

8�

.�
-r
rrc��>^^# �[R"S5IShv�N T	RR5mT	RR5mT	RR"UUU4Sj/UQ76IShv�NupURT5 T	RR
XT5IShv�NnT	RTIShv�NS5 URT5 TIShv�N UR5 gN�N�NNN;N7f)NrXc�>�T"TT5$r	r�rrr�r�s���rr3�KTestSSL.test_start_tls_client_reg_proto_1.<locals>.client.<locals>.<lambda>������G�V�4r
r�)	r
r�r�
create_futurerYr��	start_tlsr�rQ)
r`r�rz�new_trr�r�rrr�r|rs
    @@����rr��9TestSSL.test_start_tls_client_reg_proto_1.<locals>.client�s������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�=�7;�=�=�I�B�
�H�H�Y���9�9�.�.�r�.�I�I�F����7�]�D�1��L�L��#��L�L��L�L�N�
%�
=�J�*��sX�D
�D�AD
�>D�?6D
�5D�6D
�
D�D
�*D�+D
�D
�D
�D
�D
�ra)�PAYLOAD_SIZErWr�r\r
rZrzrrr
r�r`r�
SHORT_TIMEOUT�rr�r�rrrr�r|r{s`   @@@@r�!test_start_tls_client_reg_proto_1�)TestSSL.test_start_tls_client_reg_proto_1�s�����4�,�,�,�	�#�<�<�>��#�<�<�>��
	�	-�'�*�*�	-�"	�	�$�_�_�U�D�L�L�_�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�
9�
9�s
�A
C�
C*c�Z^^^^^�STR-mTR[R[R5mTR5mUUU4Sjn"U4SjS[R5mUUUU4SjnTRUTRS9nTRR[R"U"UR5[RS95 SSS5 [ R""T5mTR%T"55 g!,(df   N;=f)Nr�c�:>�URTR5 URTSS9 URS5 UR	[T55nTR
[U5[T55 UR5 UR5 gr�)	rqrr�r�r�r(r�r�rQr�s  ���rr��9TestSSL.test_create_connection_memory_leak.<locals>.serve�sk����O�O�D�L�L�)��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lr
c�4>�\rSrSrSrU4SjrSrSrSrg)�?TestSSL.test_create_connection_memory_leak.<locals>.ClientProtoi�c�*�XlX lSUlgr�r�r�s   rr�HTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.__init__�r�r
c�t>�XlU=RS-
slTRURS5 gr�)r�r�r�r�s  �rr%�OTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.connection_made�s/������"�"�a�'�"�� � ��!3�!3�Q�7r
c�:�URRU5 gr	r�r)s  rr+�MTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.data_receivedr�r
c�:�URRS5 grkr�r/s rr0�LTestSSL.test_create_connection_memory_leak.<locals>.ClientProto.eof_receivedr�r
r�Nr�r/s�rrrr��s���
&�

8�
.�
-r
rrc��>^^# �[R"S5IShv�N TRR5mTRR5mTRR"UUU4Sj/UQ7ST06IShv�NupTRTIShv�NS5 UR
T5 TIShv�N UR5 gN�NNN9N7f)NrXc�>�T"TT5$r	rr�s���rr3�LTestSSL.test_create_connection_memory_leak.<locals>.client.<locals>.<lambda>r�r
r�r�)r
r�rr�rYr�r�rQ)	r`r�rzr�r�rrr�r|rs	   @@����rr��:TestSSL.test_create_connection_memory_leak.<locals>.clients������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�$�7;�$�"�$�$�I�B�
���7�]�D�1��H�H�Y���L�L��H�H�J�
%�
$�+��sF�C�C�A!C�C�C�C�C�8C�9C�C�C�Cr�)r�r�rWrrr�r
rZrzrrr
r�r`rr��weakref�ref�assertIsNoner�s`   @@@@r�"test_create_connection_memory_leak�*TestSSL.test_create_connection_memory_leak�s�����4�,�,�,�	��8�8�����!3�!3�5���8�8�:��
	�	-�'�*�*�	-�&	�	� �_�_�U�D�L�L�_�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�!���^�4�����.�*�+�:�
9�s
�A
D�
D*c�^^^^^^^	�STR-m[R"5m	[R"5mSmUUU	4Sjn"U4SjS[R
5m"U4SjS[R5mUUUUUU4SjnTRUTRS	9nTRR[R"U"UR5TRS	95 SSS5 g!,(df   g=f)
Nr�rc�T>�URTR5 UR[T55nTR	[U5[T55 URTSS9 UR
S5 UR[T55nTR	[U5[T55 UR
S5 UR[T55nTR	[U5[T55 UR5 UR5 g)NTrr��2r�r�s  ���rr��8TestSSL.test_start_tls_client_buf_proto_1.<locals>.serve-s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7��M�M�.�d�M�;��L�L����=�=��Y��0�D����S��Y��I��7��L�L����=�=��Y��0�D����S��Y��I��7��K�K�M��J�J�Lr
c�:>�\rSrSrSrU4SjrSrSrSrSr	g)	�CTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirsti@c�0�Xl[S5Ulgr�)r�r��buf)rr�s  rr�LTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.__init__As��&��$�Q�<��r
c�>�TS-
mgr�r�rr��client_con_made_callss  �rr%�STestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.connection_madeE����%��*�%r
c��UR$r	)r)r�sizehints  r�
get_buffer�NTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.get_bufferIs���x�x�r
c�v�US:XdeURR[URSU55 gr�)r�r#�bytesr)r�nsizes  r�buffer_updated�RTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.buffer_updatedLs0����z�!�z����'�'��d�h�h�v��.>�(?�@r
c��gr	rr/s rr0�PTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.eof_receivedPs��r
)rr�N)
r8r9r:r;rr%rr"r0r<�rs�r�ClientProtoFirstr@s���
(�
+�
 �
A�
r
r'c�4>�\rSrSrSrU4SjrSrSrSrg)�DTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecondiSc�*�XlX lSUlgr�r�r�s   rr�MTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.__init__Tr�r
c�>�TS-
mgr�rrs  �rr%�TTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.connection_madeYrr
c�:�URRU5 gr	r�r)s  rr+�RTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.data_received]r�r
c�:�URRS5 grkr�r/s rr0�QTestSSL.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.eof_received`r�r
r�Nr�r&s�r�ClientProtoSecondr)Ss���
&�

+�
.�
-r
r2c��>^# �[R"S5IShv�N TRR5mTRR5nTRR5nTRR"UU4Sj/UQ76IShv�Nup4URT	5 TRR
X4T5IShv�NnTRTIShv�NS5 URT	5 URT"X55 TRUIShv�NS5 URT	5 UIShv�N UR5 TRT
S5 gGNNN�N�N�NPN27f)NrXc�>�T"T5$r	r)r'�on_data1s��rr3�KTestSSL.test_start_tls_client_buf_proto_1.<locals>.client.<locals>.<lambda>ks���(��2r
r�rr])
r
r�rr�rYr�r�r��set_protocolrQ)
r`�on_data2r�r�rzr�r5r'r2r�rr|rs
      @������rr��9TestSSL.test_start_tls_client_buf_proto_1.<locals>.clientcs)�����-�-��$�$�$��y�y�.�.�0�H��y�y�.�.�0�H��Y�Y�,�,�.�F�"�i�i�9�9�2�;�59�;�;�I�B�
�H�H�Y���9�9�.�.�r�.�I�I�F����8�^�T�2��L�L��#���� 1�(� C�D����8�^�T�2��L�L��#��L�L��L�L�N�

���2�A�6�3
%�;�J�+�,��sk�E9�E,�A7E9�E/�6E9�
E1�E9�"E3�#AE9�$E5�%E9�E7�(E9�/E9�1E9�3E9�5E9�7E9r�)
r�rWr�r\r
�BufferedProtocolrZrzrrr
r�r`)
rr�r�rr'r2r�rr|r{s
`   @@@@@@r�!test_start_tls_client_buf_proto_1�)TestSSL.test_start_tls_client_buf_proto_1%s�����4�,�,�,�	�#�<�<�>��#�<�<�>�� !��	�&	�w�7�7�	�&	-�� 0� 0�	-� 	7�	7�8�_�_�U�D�L�L�_�
9�S��I�I�(�(�� � �����!1�)-���7�
8�:�
9�
9�s
�(A	C:�:
Dc��^^^^^�STR-m[R"5mTRR	5mUUU4Sjn"U4SjS[
R5mUUUUU4SjnTRUTRS9nTRR[
R"U"UR5[RS95 SSS5 g!,(df   g=f)Nr�c�>�URTR5 UR[T55nTR	[U5[T55 TR
R
TRS5 URS5nUR5 g![a Nf=f!UR5 f=fr7)
rqrr�r(r�rr�r#r:rQ)rxr*r�r�server_waits_on_handshakes  ���rr��8TestSSL.test_start_tls_slow_client_cancel.<locals>.serve�s�����O�O�D�L�L�)��=�=��Y��0�D����S��Y��I��7�
��	�	�.�.�-�8�8�$�@��}�}�[�1���
�
���*�
��
���
�
��s$�7B$�$
B1�.B4�0B1�1B4�4Cc�4>�\rSrSrSrU4SjrSrSrSrg)�>TestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProtoi�c�*�XlX lSUlgr�r�r�s   rr�GTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.__init__�r�r
c�h>�U=RS-
slTRURS5 gr�r�r�s  �rr%�NTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.connection_made�r�r
c�:�URRU5 gr	r�r)s  rr+�LTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.data_received�r�r
c�:�URRS5 grkr�r/s rr0�KTestSSL.test_start_tls_slow_client_cancel.<locals>.ClientProto.eof_received�r�r
r�Nr�r/s�rrrrB�r�r
rrc��:>^^# �[R"S5IShv�N TRR5mTRR5mTRR"UUU4Sj/UQ76IShv�NupURT5 T	IShv�N TR
[R5 [R"TRRXT5S5IShv�N SSS5 gN�N�NjN!,(df   g=f7f)NrXc�>�T"TT5$r	rr�s���rr3�KTestSSL.test_start_tls_slow_client_cancel.<locals>.client.<locals>.<lambda>�r�r
)
r
r�rr�rYr�rKr]r�r�)
r`r�rzr�r�rrr�r|rr?s
   @@�����rr��9TestSSL.test_start_tls_slow_client_cancel.<locals>.client�s������-�-��$�$�$��i�i�-�-�/�G��Y�Y�,�,�.�F�"�i�i�9�9�4�=�7;�=�=�I�B�
�H�H�Y��+�+�+��"�"�7�#7�#7�8��&�&��I�I�'�'��>�B�����9�8�
%�
=�

,��9�8�s^�D�D�AD�>D�?D�D�#D�?5D
�4D�5D
�9
D�D�D�D
�

D�Dr�)r�rWr\rr�r
rZrzrr
r�r`rr�)rr�r�rrrr�r|r?s`   @@@@r�!test_start_tls_slow_client_cancel�)TestSSL.test_start_tls_slow_client_cancel�s�����4�,�,�,�	�#�<�<�>��$(�I�I�$;�$;�$=�!�
	�	-�'�*�*�	-�"	�	�$�_�_�U�D�L�L�_�
9�S��I�I�(�(�� � �����!1�)0�)>�)>�@�
A�:�
9�
9�s
�A
C"�"
C0c�(^^^^^^^�STR-m[R"5m[R"5mUUU4Sjm"SS[R
5mUUU4SjmUUUU4SjnTRRU"55 g)Nr�c�^>�URTR5 URU5 UR[	T55nTR[	U5[	T55 UR
T5 URT5 UR5 UR5 gr	)
rqrr�r�r(r�r�r�r�rQ)rxr`r*r�r|rs   ���rr��/TestSSL.test_start_tls_server_1.<locals>.client�ss����O�O�D�L�L�)��L�L����=�=��Y��0�D����S��Y��I��7��M�M�.�)��L�L��#��K�K�M��J�J�Lr
c�2�\rSrSrSrSrSrSrSrSr	g)	�4TestSSL.test_start_tls_server_1.<locals>.ServerProtoi�c�6�XlX lX0lSUlg�Nr
)�on_conr��on_con_lostr*)rrXr�rYs    rr�=TestSSL.test_start_tls_server_1.<locals>.ServerProto.__init__�s��$��$��#.� ���	r
c�:�URRU5 gr	)rXr#)rr�s  rr%�DTestSSL.test_start_tls_server_1.<locals>.ServerProto.connection_made�s�����&�&�r�*r
c�.�U=RU-
slgr	)r*r)s  rr+�BTestSSL.test_start_tls_server_1.<locals>.ServerProto.data_received�s���	�	�T�!�	r
c�:�URRS5 gr�r�r/s rr0�ATestSSL.test_start_tls_server_1.<locals>.ServerProto.eof_received�s�����&�&�q�)r
c�x�UcURRS5 gURRU5 gr	)rYr#r�r4s  rr6�DTestSSL.test_start_tls_server_1.<locals>.ServerProto.connection_lost�s/���;��$�$�/�/��5��$�$�2�2�3�7r
)r*rXrYr�N)
r8r9r:r;rr%r+r0r6r<rr
r�ServerProtorU�s��
 �
+�
"�
*�
8r
rcc��h># �UIShv�NnURT5 TRURS5 TRR	X@TSTR
S9IShv�NnUIShv�N UIShv�N TRURT5 UR
5 gN�NGN?N77f)Nr
T)rr�)r�r�r*rr�rrQ)	rzrXr�rYr�r�r�rr{s	      ���r�main�-TestSSL.test_start_tls_server_1.<locals>.main�s�������B��H�H�Y�����U�Z�Z��-��9�9�.�.��>� �&*�l�l�/�4�4�F�
�L�L�������U�Z�Z��3��L�L�N��
4�

��sF�B2�B*�AB2�$B,�%	B2�.B.�/	B2�8B0�92B2�,B2�.B2�0B2c	��x>^^# �T	RR5nT	RR5nT	RR5nT"XU5mT	RRU4SjSS5IShv�NnURSR	5mT	RUU4SjT	RS9 [R"T"TXU5T	RS9IShv�N SSS5 UR5 UR5IShv�N gN�N7!,(df   N;=fN7f)Nc�>�T$r	rr�s�rr3�CTestSSL.test_start_tls_server_1.<locals>.run_main.<locals>.<lambda>s���r
rgrc�>�T"UT5$r	r)rxr`r�s ��rr3ris���f�T�4�.@r
r�)rr��
create_serverr�r�rrr
r�rQr�)
rXr�rYrr`rzrcr�rers
    @@����r�run_main�1TestSSL.test_start_tls_server_1.<locals>.run_main�s�����Y�Y�,�,�.�F��Y�Y�,�,�.�F��)�)�1�1�3�K����<�E��9�9�2�2��{�A�/�/�F��>�>�!�$�0�0�2�D����!@�)-���!�7��&�&�����<� �L�L�*�*�*�7�
�L�L�N��$�$�&�&�&�/�*�7�7��
'�sI�A<D:�D#�AD:�+D'�-D%�.D'�2+D:�D8�D:�%D'�'
D5�1D:)r�rWr�r\r
rZrr
)rrlr�rcr�r|rer{s` @@@@@@r�test_start_tls_server_1�TestSSL.test_start_tls_server_1�sk����4�,�,�,�	�#�<�<�>��#�<�<�>��	�	8�'�*�*�	8�,	� 	'�	'�&	
�	�	�$�$�X�Z�0r
c��^^^^^^^	^
^^^
^^^^�SmUm	[RmS[-mS[-mTR[R
[R5mTR5m
TR[R
[R5mTR5m/mUUUU4Sjm
"U4SjS[R5mUU
4SjmUUU
UUU4SjmUU	UUUU4S	jnTR5 TRRU"55 SSS5 TRTT	5 THnUR5 M g!,(df   N:=f)
Nrr�r�c��># �UR[T55IShv�NnTRUT5 URS5 UR[T55IShv�NnTRUT5 UR	S[S5[
S5/5 UR5IShv�N UR5 TS-
mgN�NlN7fr�r�r�s   ����rr��>TestSSL.test_create_server_ssl_over_ssl.<locals>.handle_client!r�r�c�,>^�\rSrSrUU4SjrSrU=r$)�?TestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocoli1c	��>^^�[5mUR5 URRURR	XTSS95mUU4SjnTRU5 g)NTrc�>�TR5nTRU5 g![anTRU5 SnAgSnAff=fr	)r�r%r�r6)rr�ryr��super_s   ��r�cb�[TestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocol.connection_made.<locals>.cb8sF���3� �Z�Z�\���.�.�r�2��%�3��.�.�r�2�2��3�s�%�
A
�A�A
)rL�
pause_reading�_loopr�r��add_done_callback)rrrxr�rwrS�sslctx_2s   @@��rr%�OTestSSL.test_create_server_ssl_over_ssl.<locals>.ServerProtocol.connection_made2s_�������'�'�)��j�j�,�,�T�Z�Z�-A�-A��X�4�.B�.A�B��3��%�%�b�)r
r)r8r9r:r;r%r<r�)rSr}s@�r�ServerProtocolrt1s
���

*�

*r
rc�D>�[R"5nT"UT5nU$r	)r
�StreamReader)r��protocolrr�s  ��r�server_protocol_factory�HTestSSL.test_create_server_ssl_over_ssl.<locals>.server_protocol_factoryAs"����)�)�+�F�%�f�m�<�H��Or
c���>^^# �[R"5mUUUUUUU	4SjnT	RU5nUR5 TR	U5 TIShv�N gN7f)Nc�*>^^^�TRT
5 TRT5 [R"5m[R"5mTR	TT5nUUU4SjnU"UR
5 U"URT5 U"URS5nTRUS5 U"URT	5 SnU"URS5nU(dOX4-
nM!TRUS5 U"UR5 TR5 TRRT
RS5 g![a@nTRRT
RU5 TR5 SnAgSnAff=f)Nc�P>�U"U6nTR(aTRTR	55 U$![RaS TR(aTRTR	55 TRTR
S55 Of=fM�)Ni)r��SSLWantReadError�pendingr��readr�rf)�funcr��rv�incoming�outgoingrxs   ���r�do�VTestSSL.test_create_server_ssl_over_ssl.<locals>.test_client.<locals>.prog.<locals>.doTs����"�A�%)�4�[�� %�
$�+�+� �I�I�h�m�m�o�6�!�	��
$'�#7�#7�A�#+�#3�#3�$(�I�I�h�m�m�o�$>� (���t�y�y��/?� @�A��	#s�<�A$B#�"B#r�r�r
r�r�)r�r�r��	MemoryBIO�wrap_bio�do_handshaker�r�r�r�rQrr�r#r�r�)rx�sslobjr�r*�chunkryr�r�r�r�r`�client_sslctx_1�client_sslctx_2r�rs`     @@�������rr��JTestSSL.test_create_server_ssl_over_ssl.<locals>.test_client.<locals>.progIs>���-I��L�L��&��M�M�/�2� #�}�}��H�"�}�}��H�,�5�5�h��I�F�"��v�*�*�+��v�|�|�V�,��f�k�k�1�-�D��$�$�T�5�1��v�|�|�V�,��D�� "�6�;�;�� 2��$�!��
��	�
�$�$�T�7�3��v�}�}�%��J�J�L��I�I�2�2�3�>�>�4�H��	!�!��I�I�2�2�3�3D�3D�b�I��J�J�L�L��!�s�DE�
F�6F
�
Fr�)
r`r�r�r�r�r�r�r�r�rs
`  @������rr��<TestSSL.test_create_server_ssl_over_ssl.<locals>.test_clientFsK�����.�.�"�C�.
I�.
I�`�_�_�T�*�F��L�L�N��N�N�6�"��I�I�s�AA&�A$�A&c��># �TRRTSS[RT	S9IShv�NnURnTRU5 USR
5n/n[T5HnURT
"U55 M [R"[R"U6T5IShv�N TRRUR5 UR5IShv�N gN�NDN	!TRRUR5 UR5IShv�N f=f7f)Nrgr)r_r�)rrkrkr�r�r�r�r�r�r
r�r�r�rQr�)rrr`rrrrrr��sslctx_1r�s     ������rr��=TestSSL.test_create_server_ssl_over_ssl.<locals>.start_servers	�����	�	�/�/�'��Q��~�~��	0���C�
(��K�K�	����	�*� ��|�/�/�1�����y�)�A��L�L��T�!2�3�*��&�&�w�~�~�u�'=�w�G�G�G��	�	�#�#�C�I�I�.��o�o�'�'�'�)� H�(���	�	�#�#�C�I�I�.��o�o�'�'�'�r)rr	r
r�rWrrr�r
�StreamReaderProtocolr�rr
r�r�)rr�r�r�r�r�r�rrrr�r�r�r�r�r�r}r�s`   @@@@@@@@@@@@@@r�test_create_server_ssl_over_ssl�'TestSSL.test_create_server_ssl_over_ssls�������	��&�&���~�-���~�-���2�2�����!3�!3�5���9�9�;���2�2�����!3�!3�5���9�9�;����	�	� 	*�W�9�9�	*� 	�
7	�7	�r	(�	(�.�
/�
/�
1��I�I�(�(���8�2�	
����i�(��F��K�K�M��2�
1�s�!E�
E)c�@^^^^^^^�SmSmS[-mTR[R[R5mTR5mUUU4SjmUUUU4SjnUUUU4SjnTR
5 U"U5 SSS5 g!,(df   g=f)Nrr�r�c��>�URTSS9 UR[T55nTRUT5 UR	S5 UR5 UR
5 g)NTrr�)r�r�r(r�r�r�rQ)rxr*r�rrs  ���rr�-TestSSL.test_shutdown_cleanly.<locals>.server�s\����M�M�� �
�
"��=�=��V��-�D����T�6�*��I�I�e���K�K�M��J�J�Lr
c��># �[R"UTS[S.6IShv�NupURT5 TR	URS5IShv�NS5 TR	UR
5IShv�NS5 TS-
mUR5 TRU5IShv�N gN�NbN<N7f)Nrrr�r�r
r])	r
rr�r�r�r�r�rQr�)r`r�r�r�r�r�rs   ����rr��-TestSSL.test_shutdown_cleanly.<locals>.client�s�����#*�#:�#:��!� "�&7�	$9�9�N�F�
�L�L�� ����6�#5�#5�a�#8�8�%�@����6�;�;�=�0�#�6�
�1�H�C��L�L�N��"�"�6�*�*�*�9�9�0�
+�sE� C�B;�6C�B=�'C�B?�2C�5C�6C�=C�?C�Cc�0>�SmSnTRTTTS9n/n[T5H$nURU"UR55 M& TRRU"U65 SSS5 TR
TT5 g!,(df   N!=f)Nrc��D# �[R"U6IShv�N$N7fr	r!r"s rr#�;TestSSL.test_shutdown_cleanly.<locals>.run.<locals>._gather�s���$�^�^�U�3�3�3�3�r%r&r'r(s	     ����rr*�*TestSSL.test_shutdown_cleanly.<locals>.run�s�����C�
4�����-6�)2�!�4�7:����y�)�A��L�L��c�h�h��0�*��	�	�,�,��U�O�%�4�
���S�)�,�4�4�r,)r
r�rWrrr�r�)	rr�r*r�r�rr�rrs	`  @@@@@@r�test_shutdown_cleanly�TestSSL.test_shutdown_cleanly�s�������	��~�-���0�0�����!3�!3�5���7�7�9�
�	�	+�	+�$	-�	-�&�
/�
/�
1���K�2�
1�
1�s�=	B�
Bc�^^^^^^	�SmSmTR[R[R5m	TR	5mSmUUUU	4SjnUU4SjnUUUUU4SjnTRU"U55nTRRU"UR55 SSS5 g!,(df   g=f)N�� c�:>�URTSS9 TRURS5S5 URS5 [R
"S5 URTT-5nTR[
U5TT-5 UR5 g)NTrr��ping�pongrX)r�r�r�r��timer�r(rQ�rxr*�CHUNK�SIZErrs  ����rr�2TestSSL.test_flush_before_shutdown.<locals>.server�sv����M�M�&�d�M�3����T�]�]�1�-�w�7��I�I�g���J�J�s�O��=�=����.�D����S��Y����5��J�J�Lr
c�>^�UUU4SjnU$)Nc��>�T"U5 TRRTRS5 g![a0nTRRTRU5 SnAgSnAff=fr	�rr�r#r�r��rxry�future�methrs  ���r�wrapper�@TestSSL.test_flush_before_shutdown.<locals>.run.<locals>.wrapper��]���L���J��I�I�2�2�6�3D�3D�d�K��!�M��I�I�2�2�6�3G�3G��L�L��M���2�
A,�&A'�'A,r�r�r�r�rs` ��rr*�/TestSSL.test_flush_before_shutdown.<locals>.run�����
L��Nr
c��># �T
RR5m	[R"UTS[S.6IShv�NupUR
RnURS5 URS5IShv�NnT
RUS5 UR5 [T5HnURST-5 M UR5 UR5 T
RU5IShv�N UR5IShv�NnT
RUS5 T	IShv�N gN�N�N>N'![ a Nf=fN7f�Nrrr�r�r��xr
)rr�r
rr�r�
_ssl_protocolr�r�r��
pause_writingr�rQ�resume_writingr�r�ru)r`r�r��sslprotocolr*rr�r�r�r�rs      �����rr��2TestSSL.test_flush_before_shutdown.<locals>.client�s%�����Y�Y�,�,�.�F�#*�#:�#:��!� "�&7�	$9�9�N�F�
!�*�*�8�8�K��L�L��!��+�+�A�.�.�D����T�7�+��%�%�'��4�[�����T�E�\�*�!�
�L�L�N��&�&�(��"�"�6�*�*�*�
�#�[�[�]�*��� � ��s�+��L�L�/9�/�
+�*��'�
��
���sw�:E�D;�AE�?D=�BE�D?�E�E�E�E�0E�5E�6E�=E�?E�E�
E�
E�E�E�	r�rWrrr�rzrr
r`)
rrr*r�rr�r�r�r�rs
`    @@@@@r�test_flush_before_shutdown�"TestSSL.test_flush_before_shutdown�s���������0�0�����!3�!3�5���7�7�9�
���	�	�	�	�	�8�_�_�S��[�
)�S��I�I�(�(�����)9�:�*�
)�
)�s�<,B1�1
B?c�N^^^^^	^
�SmSmTR[R[R5m
TR	5mSm	UUUU
4SjnUUUU
4SjnUUUU	U4SjnU	U4SjnTRU"U55nTRRU"UR55 SSS5 TRU"U55nTRRU"UR55 SSS5 g!,(df   NZ=f!,(df   g=f)Nr�r�c�L>�[R"5n[R"5nT
RXSS9nUR5 UR(aURUR
55 UR
S5nT	RUS5 URS5 URUR
55 [R"S5 T	R5 UR5 SSS5 URUR
55 Sn[UR
S55nXV-
nM!![RaS UR(aURUR
55 URURS55 Of=fGM�![Ra# URURS55 Of=fGM�!,(df   N�=f![Ra# URURS55 N�[R a Of=fT	RUTT-5 UR5 UR#5 g)	NTr�@r�r�r�皙�����?r�r�r�r�r�r�r�r�r�r�rfr�r�r�rKr�r(�SSLZeroReturnErrorrQ�rxr�r�r�r*�data_lenr�r�r�rrs       ����rr�CTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.server$s����}�}��H��}�}��H��_�_�X�T�_�J�F��	��'�'�)� �'�'��	�	�(�-�-�/�2����!�;�;�q�>�D�����T�7�+��L�L��!��I�I�h�m�m�o�&��J�J�s�O��"�"�3�#7�#7�8��
�
��9��I�I�h�m�m�o�&��H�������E� 2�3�E��%�H���=�+�+�5��'�'��	�	�(�-�-�/�2��N�N�4�9�9�U�#3�4�5�����+�+�5��N�N�4�9�9�U�#3�4�5���9�8���+�+�5��N�N�4�9�9�U�#3�4��-�-�����
���X�u�t�|�4�
�M�M�O��J�J�L�H�E&�G�
H�H!�&A$G
�G
�4H
�	H
�
H�!4I-�I-�,I-c�x>�URTSS9 TRURS5S5 URS5 [R
"S5 UR
[R5 URTT-5nTR[U5TT-5 UR5 g�NTrr�r�r�r��r�r�r�r�r�r��shutdownrk�SHUT_WRr(rQr�s  ����r�
eof_server�GTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.eof_serverZ�����M�M�&�d�M�3����T�]�]�1�-�w�7��I�I�g���J�J�s�O�
�M�M�&�.�.�)��=�=����.�D����S��Y����5��J�J�Lr
c��b># �T	RR5m[R"UTS[S.6IShv�NupURS5 UR
S5IShv�NnT	RUS5 [T5H!nURRST-5 M# UR5IShv�NnT	RUS5 TIShv�N UR5 T	RU5IShv�N gN�N�NN![[4a NLf=fNJN#7fr�)rr�r
rr�r�r�r�r�r�_test__append_write_backlogr�r�rurQr�)
r`r�r�r*rr�r�r�r�rs
     �����rr��CTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.clientjs�����Y�Y�,�,�.�F�#*�#:�#:��!� "�&7�	$9�9�N�F�

�L�L��!��+�+�A�.�.�D����T�7�+��4�[��� � �<�<�T�E�\�J�!�
�#�[�[�]�*��� � ��s�+��L�L��L�L�N��"�"�6�*�*�*�-9�/�+��#�%9�:�
��
��
�
+�sv�:D/�D�+D/�)D�*AD/�1D�D�D�D/� D+�!(D/�	D-�
D/�D/�D�D(�%D/�'D(�(D/�-D/c�>^�UUU4SjnU$)Nc��>�T"U5 TRRTRS5 g![a0nTRRTRU5 SnAgSnAff=fr	r�r�s  ���rr��QTestSSL.test_remote_shutdown_receives_trailing_data.<locals>.run.<locals>.wrapper�r�r�rr�s` ��rr*�@TestSSL.test_remote_shutdown_receives_trailing_data.<locals>.run�r�r
r��rrr�r�r*rr�r�r�r�rs`     @@@@@r�+test_remote_shutdown_receives_trailing_data�3TestSSL.test_remote_shutdown_receives_trailing_datas���������0�0�������
���7�7�9�
���4	�4	�l	�	� 	+�	+�8	��_�_�S��[�
)�S��I�I�(�(�����)9�:�*��_�_�S��_�
-���I�I�(�(�����)9�:�.�
-�*�
)��.�
-���,D�,D�
D�
D$c�N^^^^^	^
�SmSmTR[R[R5m
TR	5mSm	UUUU
4SjnUUUU
4SjnUUUU	U4SjnU	U4SjnTRU"U55nTRRU"UR55 SSS5 TRU"U55nTRRU"UR55 SSS5 g!,(df   NZ=f!,(df   g=f)Nr�r�c�R>�[R"5n[R"5nT
RXSS9nUR5 UR(aURUR
55 UR
S5nT	RUS5 URS5 URUR
55 [R"S5 T	R5 UR5 SSS5 URUR
55 Sn[UR
S55nXV-
nM!![RaS UR(aURUR
55 URURS55 Of=fGM�![Ra# URURS55 Of=fGM�!,(df   N�=f![Ra# URURS55 N�[R a Of=fT	RUTT-S	-5 UR5 UR#5 g)
NTrr�r�r�r�r�rr�r�r�s       ����rr�RTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.server�s����}�}��H��}�}��H��_�_�X�T�_�J�F��	��'�'�)� �'�'��	�	�(�-�-�/�2����!�;�;�q�>�D�����T�7�+��L�L��!��I�I�h�m�m�o�&��J�J�s�O��"�"�3�#7�#7�8��
�
��9��I�I�h�m�m�o�&��H�������E� 2�3�E��%�H���=�+�+�5��'�'��	�	�(�-�-�/�2��N�N�4�9�9�U�#3�4�5�����+�+�5��N�N�4�9�9�U�#3�4�5���9�8���+�+�5��N�N�4�9�9�U�#3�4��-�-�����
���X�u�t�|�A�~�6�
�M�M�O��J�J�Lr�c�x>�URTSS9 TRURS5S5 URS5 [R
"S5 UR
[R5 URTT-5nTR[U5TT-5 UR5 gr�r�r�s  ����rr��VTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.eof_server�r�r
c��n>^^# �TRR5m[R"UT
S[S.6IShv�NupURS5 UR
S5IShv�NnTRUS5 [T	S-5H!nURRST-5 M# UR5IShv�NnTRUS5 URRRm"S	S
5mUU4Sjn[ R"R$R'TSTR
US
9 TIShv�N UR)5 TR+U5IShv�N SSS5 gGNCGNN�![[4a N�f=fNTN-!,(df   g=f7f)Nrrr�r�r�r�r�r
c�*�\rSrSrSSjrSrSrSrg)�iTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapperiNc��Xlgr	r;�rrxs  rr�rTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.__init__
s�� $�Ir
c�.�[URU5$r	)rjrx�rrns  r�__getattr__�uTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.__getattr__s��"�4�9�9�d�3�3r
c�Z�[U5S-nURRUSU5$)Nr�)r(rxr�)rr*�to_sends   rr��nTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>.SocketWrapper.sends(��!�$�i��l�G��9�9�>�>�$�x��.�9�9r
r;)�returnN)r8r9r:r;rr�r�r<rr
r�
SocketWrapperr�s��%�4�:r
r�c�>�TRc2[TRT5(dT"TR5Tl[RR
$r	)�_read_ready_cbr��_sock�unittest�mock�DEFAULT)r*r��socket_transports ��r�_fake_full_write_buffer�sTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client.<locals>._fake_full_write_buffersH���#�2�2�:�:�N^�Nd�Nd�fs�Ct�Ct�-:�;K�;Q�;Q�-R�$�*��}�}�,�,�,r
r�)�wraps�side_effect)rr�r
rr�r�r�r�r�rr�r�r�rur��
_transportrr�patch�objectrQr�)
r`r�r�r*rrr�rr�r�r�r�rs
      @@�����rr��RTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.client�s������Y�Y�,�,�.�F�#*�#:�#:��!� "�&7�	$9�9�N�F�

�L�L��!��+�+�A�.�.�D����T�7�+��4��6�]��� � �<�<�T�E�\�J�#�
�#�[�[�]�*��� � ��s�+� &�/�/�=�=�H�H��

:�

:�
-�
���$�$�+�+� �'�&�,�,�3�,��
��������&�&�v�.�.�.���W9�/�+��#�%9�:�
��
��@�/���s��:F5�F�+F5�+F�,A	F5�6F
�	F�
F
� A%F5�F$�F �(F$�4F"�5F$�9
F5�F5�F
�
F�F5�F�F5� F$�"F$�$
F2�.F5c�>^�UUU4SjnU$)Nc��>�T"U5 TRRTRS5 g![a0nTRRTRU5 SnAgSnAff=fr	r�r�s  ���rr��`TestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.run.<locals>.wrapper(r�r�rr�s` ��rr*�OTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket.<locals>.run'r�r
r�r�s`     @@@@@r�:test_remote_shutdown_receives_trailing_data_on_slow_socket�BTestSSL.test_remote_shutdown_receives_trailing_data_on_slow_socket�s���������0�0�������
���7�7�9�
���4	�4	�l	�	� 7	/�7	/�r	��_�_�S��[�
)�S��I�I�(�(�����)9�:�*��_�_�S��_�
-���I�I�(�(�����)9�:�.�
-�*�
)��.�
-�r�c�^^�[R"[R5nURS5 UR5mUU4SjnU TR	[
5nTRRU"55 [R"5 [R"5 [R"5 SSS5 TRSRWR55 SSS5 g!,(df   NA=f![a%nTR[U5S5 SnANDSnAff=f!,(df   g=f)Nrfc��># �[R"TRR"[R/TQ7SS06S5IShv�N TRS5 gN![[R4a gf=f7f)Nr�Tr��TimeoutError is not raised�r
r�rrYrZr��ConnectionRefusedErrorr])r`rs��r�test�2TestSSL.test_connect_timeout_warning.<locals>.test<s�����
8��&�&��I�I�/�/��0@�0@�A�15�A�;?�A������	�	�6�7���+�G�,@�,@�A�
��
��;�B�AA$�A"�A$�B�"A$�$B�>B�B�BzUnexpected ResourceWarning: {}zResourceWarning not triggered)rkr�rrr��assertWarns�ResourceWarningrr
�gc�collectr��format�warning�AssertionErrorr��str)r�sr�cm�er`s`    @r�test_connect_timeout_warning�$TestSSL.test_connect_timeout_warning7s�����M�M�&�.�.�)��	���� ��}�}���		8��	
O��%�%�o�6�"��I�I�0�0���8��J�J�L��J�J�L��J�J�L�	7��	�	�:�A�A�"�*�*�M�N��Q�6�6��
"�
J�� � ��Q��)H�I�I��
J���Q�sO�E�D�(A D�D�*E�
D	�
D�
E�D>�9E�>E�E�
Ec�^^�[R"[R5nURS5 URS5 UR	5mUU4SjnU [
R"5nTRRU"U55 [R"U5nSSS5 TRW"55 g!,(df   N%=f)Nrfr]c��># �[R"TRR"[R/TQ7SU06S5IShv�N TRS5 gN![[R4a gf=f7f)Nr�r�rr)rQr`rs ��rr�9TestSSL.test_handshake_timeout_handler_leak.<locals>.testYs�����
8��&�&��I�I�/�/��0@�0@�9�4�9�47�9������	�	�6�7���+�G�,@�,@�A�
��
�r)rkr�rrrsr�r�r�rr
rr	r
)rr$rrQr`s`   @r�#test_handshake_timeout_handler_leak�+TestSSL.test_handshake_timeout_handler_leakSs�����M�M�&�.�.�)��	���� �	������}�}���		8���,�,�.�C��I�I�(�(��c��3��+�+�c�"�C��	
���#�%� �
�Q�s
�"A
C�
Cc�^^^�TRmU4Sjn"U4SjS[R5mUU4SjnTRU5nTR	5nTRU"URU55 [R"U5nSSS5 [R"5 [R"5 [R"5 TRW"55 g!,(df   Nd=f)Nc��>�TR[R[R5nUR	USS9nURS5 UR
5 g)NTrr�)r�rWrrr�rfrQ)rxrrs  �rr�:TestSSL.test_shutdown_timeout_handler_leak.<locals>.serverosP����4�4��#�#��"�"��F��%�%�d��%�=�D��I�I�b�M��J�J�Lr
c�(>�\rSrSrU4SjrSrSrg)�<TestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocolixc�8>�[R"TS9Ulg�Nr)r
rr�rs �rr�ETestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocol.__init__ys���"�>�>�t�4��r
c�:�URRS5 gr	)r�r#r4s  rr6�LTestSSL.test_shutdown_timeout_handler_leak.<locals>.Protocol.connection_lost|s�����#�#�D�)r
)r�N)r8r9r:r;rr6r<rs�rrZr2xs
���
5�
*r
rZc��># �TR"T/UQ7SU06IShv�Nup#UR5 URIShv�N gN+N7f)Nr�)rYrQr�)r`rQr��prrZrs    ��rr��:TestSSL.test_shutdown_timeout_handler_leak.<locals>.clientsB�����1�1�(�K�T�K�s�K�K�F�B��H�H�J��&�&�L�L�L��s!�A
�A	�%A
�A�A
�A
)rr
rZrzr�r
r`rr	rrr
)rrr�rrQrZrs`    @@r�"test_shutdown_timeout_handler_leak�*TestSSL.test_shutdown_timeout_handler_leakls�����y�y��	�	*�w�'�'�	*�	�
�_�_�V�
$���1�1�3�C��#�#�F�3�8�8�S�$9�:��+�+�c�"�C�%�	�
�
��
�
�
��
�
�
��	
���#�%� �%�
$�s
�
A	C1�1
C?c�J^^^^^�TRm[R"5mSmUUU4Sjn"UU4SjS[R5mUUUUU4SjnTR	U5nTRU"UR55 SSS5 g!,(df   g=f)Nc�>�TR[R[R5nUR	USS9nURS5 UR
S5S:XdeURS5 UR[R5 TRTR5 UR
S5S:XdeUR5 g)NTr�hellor�world�extra bytesr
)
r�rWrrr�r�rfr�rkr�r��setrQ)rxr�eofrrs  ���rr�=TestSSL.test_shutdown_timeout_handler_not_set.<locals>.server�s�����4�4��#�#��"�"��F��%�%�d��%�=�D��I�I�h���9�9�T�?�h�.�.�.��I�I�n�%��M�M�&�.�.�)��%�%�c�g�g�.��9�9�T�?�c�)�)�)��J�J�Lr
c�:>�\rSrSrU4SjrSrU4SjrSrSrg)�?TestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocoli�c�F>�[R"TS9UlSUlgr4)r
rr�rrs �rr�HTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.__init__�s���"�>�>�t�4���!%��r
c��Xlgr	)rr$s  rr%�OTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.connection_made�s��!*�r
c�>�US:Xa6URRS5 URR5 gUmg)Nr?r@)rr�rz)rr*�extras  �rr+�MTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.data_received�s4����8�#��N�N�(�(��2��N�N�0�0�2�!�Er
c�x�UcURRS5 gURRU5 gr	)r�r#r�r4s  rr6�OTestSSL.test_shutdown_timeout_handler_not_set.<locals>.Protocol.connection_lost�s+���;��H�H�'�'��-��H�H�*�*�3�/r
)r�rN)	r8r9r:r;rr%r+r6r<)rLrs��rrZrF�s���
&�
+�
!�
0r
rZc��"># �TR5nTR"T/UQ7SU06IShv�Nup#TR5IShv�N UR5 URIShv�N UR5 TS:XdegN[NCN!7f)Nr�rA)r�rY�wait�resume_readingr�rQ)	r`rQr�r9rZrCrLrrs	    �����rr��=TestSSL.test_shutdown_timeout_handler_not_set.<locals>.client�s|�����1�1�3�C��1�1�(�K�T�K�s�K�K�F�B��(�(�*��������&�&�L�L��H�H�J��N�*�*�*�L���s3�*B�B	�B�B�#B�+B
�,B�B�
B)rr
�EventrZrzr
r`)rrr�rrZrCrLrs`   @@@@r�%test_shutdown_timeout_handler_not_set�-TestSSL.test_shutdown_timeout_handler_not_set�su����y�y���m�m�o����	� 	0�	0�w�'�'�	0�.	+�	+��_�_�V�
$���#�#�F�3�8�8�$4�5�%�
$�
$�s�)"B�
B"rr	)NN)4r8r9r:r;r�rr	rrMr[rkr�r�rzrr�r�r�r��
contextlib�contextmanagerr�r�r�r�r��
bigmemtestrr.rArMr^rvr}r�r�r�rr;rOrnr�r�r�r�rr'r,r;rUr<r��rSs@rrIrIQsw����L��"�"�G�)��!�.�.��"�0�0��!�;�B!�.�.�"�0�0�
.�G�G��<@�����(��(��(�0��
���R��%�@�Z�A�Z�x^�@?�B#?�J)'�V/>�b3�D9�L-$�^;A�z>,�@]8�~;A�zL1�\
���R��%�@�L�A�L�\=�~:;�x{;�z_;�BO�8!�2%!�N66�66r
rIc�>�\rSrSrSrSrSSSS.SjrS	rS
rSr	g)�TestSocketWrapperi�c��Xlgr	)�_TestSocketWrapper__sockr�s  rr�TestSocketWrapper.__init__�s���r
c��Sn[U5U:a>URU[U5-
5nUS:Xa[eX#-
n[U5U:aM>U$rW)r(rfr:)r�nrr*s    rr��TestSocketWrapper.recv_all�sP�����#�h��l��9�9�Q��S��\�*�D��s�{�,�,��K�C�	�#�h��l�
�
r
FNT�rr�do_handshake_on_connectc���[U[R5(deURURUUUS9nU(aUR5 URR
5 XPlg)Nrc)r�r�r�r�r^r�rQ)r�ssl_contextrrrd�ssl_socks      rr��TestSocketWrapper.starttls�se��
�+�s�~�~�6�6�6�6��*�*��K�K�[�+�$;�+�=��
��!�!�#��������r
c�.�[URU5$r	)rjr^r�s  rr��TestSocketWrapper.__getattr__�s���t�{�{�D�)�)r
c�`�SR[U5RUR5$)Nz	<{} {!r}>)r �typer8r^r/s r�__repr__�TestSocketWrapper.__repr__�s#���!�!�$�t�*�"5�"5�t�{�{�C�Cr
)�__sock)
r8r9r:r;rr�r�r�rmr<rr
rr\r\�s'����#�!%�)-��$*�Dr
r\c�&�\rSrSrSrSrSrSrg)�SocketThreadi�c�2�SUlUR5 gr�)�_activer�r/s rr��SocketThread.stop�s������	�	�r
c�&�UR5 U$r	)r�r/s r�	__enter__�SocketThread.__enter__�s���
�
���r
c�$�UR5 gr	)r�r4s  r�__exit__�SocketThread.__exit__s���	�	�r
)rsN)r8r9r:r;r�rvryr<rr
rrqrq�s����r
rqc� �\rSrSrSrSrSrg)r}ic��[RRUSSS5 SUlX@lX lSUlX0lXlg)Nztest-clientT)	r�r�rr��_timeoutrrs�_prog�_test)rrrxr�ras     rr�TestThreadedClient.__init__s>�����!�!�$��d�M�B�����
��
�����
��
r
c���UR[UR55 g![[4a e[
a%nURRU5 SnAgSnAff=fr	)r~r\r�KeyboardInterrupt�
SystemExit�
BaseExceptionrr�r�s  rr*�TestThreadedClient.runsR��	.��J�J�(����4�5��!�:�.�	���	.��J�J�)�)�"�-�-��	.�s�$'�A&�A!�!A&)rsr~rrr}r�N)r8r9r:r;rr*r<rr
rr}r}s���.r
r}c�P^�\rSrSrSrU4SjrSrSrSr\	S5r
SrU=r$)	ruic�6�[RRUSSS5 SUlSUlSUlXPlX@lX lSUl	X0l
[R"5uUl
UlURRS5 Xlg)Nztest-serverTrF)r�r�rr��_clients�_finished_clients�_max_clientsr}rrsr~rk�
socketpair�_s1�_s2�setblockingr)rrrxr�rarcs      rr�TestThreadedServer.__init__s|�����!�!�$��d�M�B������
�!"���'���
��
�����
�#�.�.�0����$�(������U�#��
r
c�>�UR(a:URR5S:waURRS5 [TU]5 g![a Nf=f![TU]5 f=f)N���sstop)r��filenor�rtrLr�rRs �rr��TestThreadedServer.stop/sa���	��x�x�D�H�H�O�O�-��3���H�H�M�M�'�*�
�G�L�N�������
�G�L�N�s(�/A-�A�
A*�'A-�)A*�*A-�-A=c��UR URRS5 UR5 SSS5 URR	5 UR
R	5 g!,(df   NC=f!URR	5 UR
R	5 f=fr�)rr��_runr�rQr�r/s rr*�TestThreadedServer.run9ss��	�����
�
�&�&�u�-��	�	���
�H�H�N�N���H�H�N�N�����
�H�H�N�N���H�H�N�N��s!�B�,A7�B�7
B�B�6B>c�<�UR(a�URUR:�ag[R"URUR
///UR5upnUR
U;agURU;ajURR5upEU=RS-
slURUR5 U URU5 SSS5 UR(aM�gg!,(df   N#=f![[4a e[a.nSUle!URRU5 f=fSnAff=f![a GMr[ R"a UR(dgef=f)Nr]F)rsr�r��selectrr�r}r�rq�_handle_clientr�r�r�rr��BlockingIOErrorrkra)r�r�w�xr�r`rys       rr��TestThreadedServer._runBs9���l�l��}�}�� 1� 1�1���m�m����T�X�X�&��B��
�
�?�G�A�!��x�x�1�}���z�z�Q��>�!%���!2�!2�!4�J�D��M�M�Q�&�M��O�O�D�M�M�2�
>�!� �/�/��5�"�1�l�l�l�0"�T��-�z�:���(�>�',���>�!�� �J�J�9�9�"�=��>��'����~�~���<�<���	�s`�E%�D�D	�,D�	
D�D�D�E"�4E�<D=�=E�E�E"�%
F�3$F�Fc�8�UR[U55 gr	)r~r\r�s  rr��!TestThreadedServer._handle_clientfs���
�
�$�T�*�+r
c�6�URR5$r	)rr�r/s rr`�TestThreadedServer.addris���z�z�%�%�'�'r
)rsr�r�r�r~r�r�rrr}r�)
r8r9r:r;rr�r*r�r��propertyr`r<r�rZs@rrurus1����$��">�H,��(��(r
ru)&r
rWrr�r�rk�sysrlr�r��
unittest.mockrrr��ImportErrorrr�test.test_asynciorrW�platform�MACOSr
r	r�rrZr�Filterr>�skipIf�TestCaserIr\r�rqr}rurr
r�<module>r�s��
��	��
�
�
����������1�

����	!��"�����(�(��(�'�'�"�"�'�D�w�~�~��
������o�.�w6�j�!�!�w6�/�w6�~3$D�$D�N�9�#�#��.��.�*P(��P(��M8��
�C��s�C<�<D�D

Youez - 2016 - github.com/yon3zu
LinuXploit