OwlCyberSecurity - MANAGER
Edit File: ssl_match_hostname.cpython-39.pyc
a )��e~ � @ sr d Z ddlZddlZzddlZW n ey6 dZY n0 dZG dd� de�Zddd�Zd d � Z dd� Z d d� ZdS )zJThe match_hostname() function from Python 3.3.3, essential when using SSL.� Nz3.5.0.1c @ s e Zd ZdS )�CertificateErrorN)�__name__� __module__�__qualname__� r r �l/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.pyr 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�|�� q�t� dd �|� d tj�} | � |�S )zhMatching according to RFC 6125, section 6.4.3 http://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)�split�countr �repr�lower�append� startswith�re�escape�replace�compile�join� IGNORECASE�match) �dn�hostnameZ max_wildcardsZpats�partsZleftmost� remainder� wildcards�frag�patr r r �_dnsname_match s, �r c C s&