ó
ñ1Mc           @   s‰   d  Z  d d d d d g Z d d l Z d d l Z d d l m Z d	 „  Z e j e j e j	 e j
 g Z d
 „  Z d „  Z d „  Z d S(   sK   SSL callbacks

Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.t   unknown_issuert   ssl_verify_callback_stubt   ssl_verify_callbackt$   ssl_verify_callback_allow_unknown_cat   ssl_info_callbackiÿÿÿÿN(   t   m2c         C   s   | S(   N(    (   t   ssl_ctx_ptrt   x509_ptrt   errnumt   errdeptht   ok(    (    s5   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/cb.pyR      s    c         C   s’   t  j ƒ  t |  ƒ } | t k rd | j ƒ  rd t j j d t j	 | ƒ ƒ t j j
 ƒ  d } qd n  | rŽ | j ƒ  | k r… d } qŽ d } n  | S(   Ns   policy: %s: permitted...
i   i    (   t   Contextt   mapt   longR    t   get_allow_unknown_cat   syst   stderrt   writeR   t   x509_get_verify_errort   flusht   get_verify_depth(   R   R   R   R	   R
   t   ssl_ctx(    (    s5   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/cb.pyR      s    		c         C   s%   | j  ƒ  } | t k r! d }  n  |  S(   Ni   (   t	   get_errorR    (   R
   t   storeR   (    (    s5   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/cb.pyR   *   s    	c         C   sh  |  t  j @} | t  j @r$ d } n | t  j @r: d } n d } |  t  j @r t j j d | t  j | ƒ f ƒ t j j	 ƒ  d  S|  t  j
 @rû | sÇ t j j d | t  j | ƒ f ƒ t j j	 ƒ  n0 t j j d | t  j | ƒ f ƒ t j j	 ƒ  d  S|  t  j @rd|  t  j @rd } n d } t j j d	 | t  j | ƒ t  j | ƒ f ƒ t j j	 ƒ  d  Sd  S(
   Ns   SSL connects
   SSL accepts   SSL state unknowns   LOOP: %s: %s
s   FAILED: %s: %s
s   INFO: %s: %s
t   readR   s   ALERT: %s: %s: %s
(   R   t   SSL_ST_MASKt   SSL_ST_CONNECTt   SSL_ST_ACCEPTt   SSL_CB_LOOPR   R   R   t   ssl_get_state_vR   t   SSL_CB_EXITt   SSL_CB_ALERTt   SSL_CB_READt   ssl_get_alert_type_vt   ssl_get_alert_desc_v(   t   wheret   rett   ssl_ptrt   wt   state(    (    s5   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/cb.pyR   1   s2    		###	#(   t   __doc__t   __all__R   R   t   M2CryptoR   R   t&   X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERTt,   X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLYt*   X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATUREt   X509_V_ERR_CERT_UNTRUSTEDR    R   R   R   (    (    (    s5   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/cb.pyt   <module>   s   				