Edit File: _implementation.cpython-36.opt-1.pyc
3 �PfF � @ st d Z ddlZddlZyddlZW n ek r8 dZY nX 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 �%/usr/lib/python3.6/_implementation.pyr s r � c C s� g }| sdS | j d�}|d }|dd� }|jd�}||krLtdt| � ��|s`| j� |j� kS |dkrt|jd� n>|jd �s�|jd �r�|jtj|�� n|jtj|�j d d�� x|D ]}|jtj|�� q�W tj dd j|� d tj�} | j |�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) Zdn�hostnameZ max_wildcardsZpats�partsZleftmostZ remainderZ wildcardsZfragZpatr r r �_dnsname_match s* r c C s&