File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/cheroot/ssl/__pycache__/builtin.cpython-310.pyc
Back
o ;jiC � @ s d Z ddlZddlZddlZddlmZ zddlZW n ey% dZY nw zddlm Z W n eyK zddl m Z W n eyH dZ Y nw Y nw ddlmZ ddl mZmZ dd lmZ d dlmZ dd � Zdd� Zdd�dd�Zdd�dd�Zdd� ZG dd� de�ZdS )z� A library for integrating Python's builtin :py:mod:`ssl` library with Cheroot. The :py:mod:`ssl` module must be importable for SSL functionality. To use this module, set ``HTTPServer.ssl_adapter`` to an instance of ``BuiltinSSLAdapter``. � N)�suppress)�DEFAULT_BUFFER_SIZE���� )�errors��StreamReader�StreamWriter)� HTTPServer� )�Adapterc s6 t |�dk r td��t| ��� � t� fdd�|D ��S )zACheck whether SSL exception contains either of messages provided.r zF_assert_ssl_exc_contains() requires at least one message to be passed.c 3 s � | ] }|� � � v V qd S )N)�lower)�.0�m�Z err_msg_lower� �G/opt/saltstack/salt/lib/python3.10/site-packages/cheroot/ssl/builtin.py� <genexpr>+ s � z+_assert_ssl_exc_contains.<locals>.<genexpr>)�len� TypeError�strr �any)�excZmsgsr r r �_assert_ssl_exc_contains# s �r c C s| t tjt��. | j|ddd�� }|�d� W d � n1 sw Y W d � dS W d � dS 1 s7w Y dS )z;Wrap a socket in ssl and perform the server-side handshake.T��do_handshake_on_connect�server_sides 0000N)r �ssl�SSLError�OSError�wrap_socket�send)�context�server�ssl_sockr r r �_loopback_for_cert_thread. s ���"�r% ��private_key_passwordc C s� t j|d�}|j| ||d� d|_t j|_t�� \}}zStj t ||fd�}z9|�� |j|ddd��}|� d� |�� W d � W |�� W |�� |�� S 1 sTw Y W |�� n|�� w W |�� |�� dS |�� |�� w ) z@Create a loopback connection to parse a cert with a private key.)�cafile��passwordF)�target�argsTr � N)r �create_default_context�load_cert_chain�check_hostname� CERT_NONE�verify_mode�socket� socketpair� threading�Threadr% �startr �recv�getpeercert�join�close) �certificate�private_key�certificate_chainr'