HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc
U

<D�gu!�@s�ddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZzddlZWne
k
rldZYnXdddddgZd����ZzejjZejjZWnek
r�eZZYnXedk	o�eeefkZzdd	lmZmZWnRe
k
�r4zdd
lmZddlmZWne
k
�r.dZdZYnXYnXe�sLGdd
�d
e�Ze�sdddd�Zdd�ZGdd�de�ZGdd�de�Zddd�Z dd�Z!e!dd��Z"dd�Z#dd�Z$dS) �N)�ResolutionError�ExtractionError�VerifyingHTTPSHandler�find_ca_bundle�is_available�
cert_paths�
opener_fora
/etc/pki/tls/certs/ca-bundle.crt
/etc/ssl/certs/ca-certificates.crt
/usr/share/ssl/certs/ca-bundle.crt
/usr/local/share/certs/ca-root.crt
/etc/ssl/cert.pem
/System/Library/OpenSSL/certs/cert.pem
/usr/local/share/certs/ca-root-nss.crt
/etc/ssl/ca-bundle.pem
)�CertificateError�match_hostname)r	)r
c@seZdZdS)r	N)�__name__�
__module__�__qualname__�rr�C/opt/cppython/lib/python3.8/site-packages/setuptools/ssl_support.pyr	7sr	�c
Cs�g}|sdS|�d�}|d}|dd�}|�d�}||krLtdt|���|s`|��|��kS|dkrt|�d�n>|�d	�s�|�d	�r�|�t�|��n|�t�|��	d
d��|D]}|�t�|��q�t�
dd
�|�dtj�}	|	�
|�S)zqMatching according to RFC 6125, section 6.4.3

        https://tools.ietf.org/html/rfc6125#section-6.4.3
        F�.rrN�*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)�split�countr	�repr�lower�append�
startswith�re�escape�replace�compile�join�
IGNORECASE�match)
�dn�hostname�
max_wildcards�pats�parts�leftmost�	remainder�	wildcards�frag�patrrr�_dnsname_match=s,


�r*cCs�|std��g}|�dd�}|D]*\}}|dkr t||�r@dS|�|�q |s�|�dd�D]6}|D],\}}|dkrdt||�r�dS|�|�qdq\t|�dkr�td	|d
�tt|��f��n*t|�dkr�td||df��ntd
��dS)a=Verify that *cert* (in decoded format as returned by
        SSLSocket.getpeercert()) matches the *hostname*.  RFC 2818 and RFC 6125
        rules are followed, but IP addresses are not accepted for *hostname*.

        CertificateError is raised on failure. On success, the function
        returns nothing.
        zempty or no certificate�subjectAltNamer�DNSN�subject�
commonNamerz&hostname %r doesn't match either of %sz, zhostname %r doesn't match %rrz=no appropriate commonName or subjectAltName fields were found)	�
ValueError�getr*r�lenr	r�mapr)�certr!�dnsnames�san�key�value�subrrrr
ss>

��
���r
c@s eZdZdZdd�Zdd�ZdS)rz=Simple verifying handler: no auth, subclasses, timeouts, etc.cCs||_t�|�dS�N)�	ca_bundle�HTTPSHandler�__init__)�selfr:rrrr<�szVerifyingHTTPSHandler.__init__cs���fdd�|�S)Ncst|�jf|�Sr9)�VerifyingHTTPSConnr:)�host�kw�r=rr�<lambda>��z2VerifyingHTTPSHandler.https_open.<locals>.<lambda>)�do_open)r=�reqrrAr�
https_open�s
�z VerifyingHTTPSHandler.https_openN)rrr
�__doc__r<rFrrrrr�sc@s eZdZdZdd�Zdd�ZdS)r>z@Simple verifying connection: no auth, subclasses, timeouts, etc.cKstj||f|�||_dSr9)�HTTPSConnectionr<r:)r=r?r:r@rrrr<�szVerifyingHTTPSConn.__init__cCs�t�|j|jft|dd��}t|d�rHt|dd�rH||_|��|j}n|j}tt	d�rxt	j
|jd�}|j||d�|_nt	j|t	j
|jd�|_zt|j��|�Wn.tk
r�|j�tj�|j���YnXdS)N�source_address�_tunnel�_tunnel_host�create_default_context)�cafile)�server_hostname)�	cert_reqs�ca_certs)�socket�create_connectionr?�port�getattr�hasattr�sockrJrK�sslrLr:�wrap_socket�
CERT_REQUIREDr
�getpeercertr	�shutdown�	SHUT_RDWR�close)r=rV�actual_host�ctxrrr�connect�s.

�
�
zVerifyingHTTPSConn.connectN)rrr
rGr<r`rrrrr>�sr>cCstj�t|pt���jS)z@Get a urlopen() replacement that uses ca_bundle for verification)�urllib�request�build_openerrr�open)r:rrrr�s�cst����fdd��}|S)Ncst�d�s�||��_�jS)N�always_returns)rUre)�args�kwargs��funcrr�wrapper�s
zonce.<locals>.wrapper)�	functools�wraps)rirjrrhr�once�srmcsZzddl}Wntk
r"YdSXG�fdd�d|j����}|�d�|�d�|jS)Nrcs,eZdZ��fdd�Z��fdd�Z�ZS)z"get_win_certfile.<locals>.CertFilecst�|���t�|j�dSr9)�superr<�atexit�registerr]rA��CertFile�	__class__rrr<�sz+get_win_certfile.<locals>.CertFile.__init__cs,zt�|���Wntk
r&YnXdSr9)rnr]�OSErrorrArqrrr]�sz(get_win_certfile.<locals>.CertFile.close)rrr
r<r]�
__classcell__r�rr)rsrrr�srr�CA�ROOT)�wincertstore�ImportErrorrrZaddstore�name)ryZ	_wincertsrrvr�get_win_certfile�s

r|cCs$ttjjt�}t�p"t|d�p"t�S)z*Return an existing CA bundle path, or NoneN)�filter�os�path�isfilerr|�next�_certifi_where)Zextant_cert_pathsrrrr�s��c
Cs.ztd���WStttfk
r(YnXdS)N�certifi)�
__import__�whererzrrrrrrr�sr�)r)N)%r~rQrorrk�urllib.requestra�http.client�http�
pkg_resourcesrrrWrz�__all__�striprrrbr;�clientrH�AttributeError�objectrr	r
Zbackports.ssl_match_hostnamer/r*rr>rrmr|rr�rrrr�<module>sb
�
�
6*(