ó
ñ1Mc           @   sN   d  Z  d d g Z d d l m Z m Z m Z d d d „  ƒ  YZ d „  Z d S(	   sI   SSL Session

Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.t   Sessiont   load_sessioniÿÿÿÿ(   t   BIOt   Errt   m2c           B   sn   e  Z e j Z d  d „ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z RS(   i    c         C   s(   | d  k	 s t ‚ | |  _ | |  _ d  S(   N(   t   Nonet   AssertionErrort   sessiont   _pyfree(   t   selfR   R   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   __init__   s    	c         C   s)   t  |  d d ƒ r% |  j |  j ƒ n  d  S(   NR   i    (   t   getattrt   m2_ssl_session_freeR   (   R	   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   __del__   s    c         C   s   |  j  S(   N(   R   (   R	   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   _ptr   s    c         C   s/   t  j ƒ  } t j | j ƒ  |  j ƒ | j ƒ  S(   N(   R   t   MemoryBufferR   t   ssl_session_printt   bio_ptrR   t   read_all(   R	   t   buf(    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   as_text   s    c         C   s/   t  j ƒ  } t j | j ƒ  |  j ƒ | j ƒ  S(   N(   R   R   R   t   i2d_ssl_sessionR   R   R   (   R	   R   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   as_der   s    c         C   s   t  j | j ƒ  |  j ƒ S(   N(   R   t   ssl_session_write_bioR   R   (   R	   t   bio(    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt	   write_bio#   s    c         C   s   t  j |  j ƒ S(   N(   R   t   ssl_session_get_timeR   (   R	   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   get_time&   s    c         C   s   t  j |  j | ƒ S(   N(   R   t   ssl_session_set_timeR   (   R	   t   t(    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   set_time)   s    c         C   s   t  j |  j ƒ S(   N(   R   t   ssl_session_get_timeoutR   (   R	   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   get_timeout,   s    c         C   s   t  j |  j | ƒ S(   N(   R   t   ssl_session_set_timeoutR   (   R	   R   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   set_timeout/   s    (   t   __name__t
   __module__R   t   ssl_session_freeR   R
   R   R   R   R   R   R   R   R    R"   (    (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyR    	   s   									c         C   sl   t  j |  ƒ } t j | j ƒ  ƒ } | j ƒ  | d  k r_ d d l m } | t	 j
 ƒ  ƒ ‚ n  t | d ƒ S(   Niÿÿÿÿ(   t   SSLErrori   (   R   t   openfileR   t   ssl_session_read_pemR   t   closeR   t   M2Crypto.SSLR&   R   t	   get_errorR    (   t   pemfilet   ft   cptrR&   (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyR   3   s    
N(    (   t   __doc__t   __all__t   M2CryptoR   R   R   R    R   (    (    (    s:   /usr/lib64/python2.7/site-packages/M2Crypto/SSL/Session.pyt   <module>   s   *