Your IP : 216.73.216.213
B
;��]�Y � @ sV d Z ddlmZmZ ddlmZ ddlmZ ddlm Z m
Z
mZmZ ddl
mZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlZddlZy0ddlmamZ dd
lma ddlmZmZ W n" e k
r� dd� Z!e!� Y nX ddl"m#Z# G dd� dej$�Z%G dd� dej$�Z&G dd� de j'�Z(G dd� de j'�Z)e#ej*�G dd� de j'��Z+dd� Z,dd� Z-G d d!� d!�Z.tdk �r�G d"d#� d#tj/�Z0G d$d%� d%eej1�Z2G d&d'� d'ej1�Z3G d(d)� d)e3�Z4G d*d+� d+ej1�Z5G d,d-� d-ej1e.�Z6G d.d/� d/�Z7G d0d1� d1ej1�Z8G d2d3� d3ej1�Z9e�:e
d�dk�rRx"e2e3e4e5e6e8e9gD ]Z;d4e;_<�qBW dS )5z
Tests for twisted SSL support.
� )�division�absolute_import)�FilePath)�unittest)�protocol�reactor�
interfaces�defer)�ConnectionDone)�basic)�platform)�ProperlyCloseFilesMixin)�waitUntilAllDisconnectedN)�SSL�crypto)�ssl)�ClientTLSContext�certPathc C s d a ad S )N)r r � r r �H/opt/alt/python37/lib64/python3.7/site-packages/twisted/test/test_ssl.py�_noSSL s r )�implementerc @ sB e Zd ZdZdddgZddgZdd� Zd d
� Zdd� Zd
d� Z dS )�UnintelligentProtocola
@ivar deferred: a deferred that will fire at connection lost.
@type deferred: L{defer.Deferred}
@cvar pretext: text sent before TLS is set up.
@type pretext: C{bytes}
@cvar posttext: text sent after TLS is set up.
@type posttext: C{bytes}
s
first lines last thing before tls startss STARTTLSs first thing after tls starteds last thing everc C s t �� | _d S )N)r �Deferred�deferred)�selfr r r �__init__9 s zUnintelligentProtocol.__init__c C s x| j D ]}| �|� qW d S )N)�pretext�sendLine)r �lr r r �connectionMade= s z$UnintelligentProtocol.connectionMadec C sD |dkr@| j �t� | jj� x| jD ]}| �|� q$W | j �� d S )Ns READY)� transport�startTLSr �factory�client�posttextr �loseConnection)r �liner r r r �lineReceivedB s
z"UnintelligentProtocol.lineReceivedc C s | j �d � d S )N)r �callback)r �reasonr r r �connectionLostJ s z$UnintelligentProtocol.connectionLostN)
�__name__�
__module__�__qualname__�__doc__r r% r r r( r+ r r r r r % s
r c @ s: e Zd ZdZddd�Zdd� Zdd� Zd d
� Zdd� Zd
S )�
LineCollectoraJ
@ivar deferred: a deferred that will fire at connection lost.
@type deferred: L{defer.Deferred}
@ivar doTLS: whether the protocol is initiate TLS or not.
@type doTLS: C{bool}
@ivar fillBuffer: if set to True, it will send lots of data once
C{STARTTLS} is received.
@type fillBuffer: C{bool}
Fc C s || _ || _t�� | _d S )N)�doTLS�
fillBufferr r r )r r1 r2 r r r r \ s zLineCollector.__init__c C s d| j _g | j _d S )N� )r# �rawdata�lines)r r r r r b s zLineCollector.connectionMadec C st | j j�|� |dkrp| jr8xtd�D ]}| �d� q&W | �d� | jrhtttd�}| j �
|| j j� n| �� d S )Ns STARTTLSi� s� XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXs READY)ZprivateKeyFileNameZcertificateFileName)
r# r5 �appendr2 �ranger r1 �ServerTLSContextr r! r"