File: //lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.opt-1.pyc
U
Qab-! @ s d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z d dl
mZmZ zd dl
Z
W n ek
rt dZ
Y nX dddddgZd ZzejjZejZW n ek
r e ZZY nX e
dk oeeefkZzd d
l
mZmZ W nR ek
r: zd dlmZ d dlmZ W n ek
r4 dZdZY nX Y nX esRG d
d deZesjdddZdd ZG dd deZG dd deZd ddZ dd Z!e!dd Z"dd Z#dd Z$dS )! N)urllibhttp_clientmapfilter)ResolutionErrorExtractionErrorVerifyingHTTPSHandlerfind_ca_bundleis_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
)CertificateErrormatch_hostname)r
)r c @ s e Zd ZdS )r
N)__name__
__module____qualname__ r r :/usr/lib/python3.8/site-packages/setuptools/ssl_support.pyr
5 s r
c
C s g }| sdS | d}|d }|dd }|d}||krLtdt| |s`| | kS |dkrt|d n>|d s|d r|t| n|t| d
d |D ]}|t| qt
dd
| d tj} |
|S )zqMatching according to RFC 6125, section 6.4.3
https://tools.ietf.org/html/rfc6125#section-6.4.3
F.r r N*z,too many wildcards in certificate DNS name: z[^.]+zxn--z\*z[^.]*z\Az\.z\Z)splitcountr
reprlowerappend
startswithreescapereplacecompilejoin
IGNORECASEmatch)
ZdnhostnameZ
max_wildcardsZpatspartsZleftmostZ remainderZ wildcardsZfragZpatr r r _dnsname_match; s,
r&