MRe @ sc d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z m Z d d l m Z y d d l Z Wn e k r d Z Yn Xd d d d d g Z d j j Z e Z Z xp d d d g f d d d g f f D]J \ Z Z x; e D]3 Z y e d e e f Wq e k r(Yq Xq Wq We d k oLe e e f k Z y d d l m Z m Z WnW e k ry$ d d l m Z d d l m Z Wn e k rd Z d Z Yn XYn Xe sGd d d e Z n e sd d d Z d d Z n Gd d d e Z Gd d d e Z d d d Z d a d d Z d! d Z! d S)" N)ResolutionErrorExtractionError)urllib2VerifyingHTTPSHandlerfind_ca_bundleis_available cert_paths opener_forz /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 HTTPSHandlerr zurllib.requestHTTPSConnectionhttplibzhttp.clientzfrom %s import %s)CertificateErrormatch_hostname)r )r c @ s e Z d Z d S)r N)__name__ __module____qualname__ r r 1/tmp/pip-l4uy7dan-build/setuptools/ssl_support.pyr 8 s r c C sX g } | s d S| j d } | d } | d d } | j d } | | k rm t d t | n | s | j | j k S| d k r | j d nY | j d s | j d r | j t j | n" | j t j | j d d x$ | D] } | j t j | qWt j d d j | d t j } | j | S)zpMatching 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)splitcountr reprlowerappend startswithreescapereplacecompilejoin IGNORECASEmatch) dnhostname max_wildcardspatspartsleftmost remainder wildcardsfragpatr r r _dnsname_match<