File: //lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc
U
�e�]� � @ s� d dl mZmZmZ d dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
mZ d dlmZ e�ddd d
ddg�ZG d
d� de�Zdd� Zdd� Zdd� ZG dd� de�Zdd� Zdd� Zeej� e�� eej� dS )� )�absolute_import�division�print_functionN)�utils)�
InternalError)�ffi�lib)�CONDITIONAL_NAMES�_OpenSSLErrorWithText�coder �func�reasonZreason_textc @ sD e Zd Zdd� Zdd� Ze�d�Ze�d�Ze�d�Z e�d�Z
d S )
�
_OpenSSLErrorc C s || _ || _|| _|| _d S �N)�_code�_lib�_func�_reason)�selfr r r r
� r �N/usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py�__init__ s z_OpenSSLError.__init__c C s || j ko|| jkS r )r r
)r r r
r r r �_lib_reason_match s z_OpenSSLError._lib_reason_matchr r r r N)�__name__�
__module__�__qualname__r r r Zread_only_propertyr r r r
r r r r r s
r c C sN g }| � � }|dkrqJ| �|�}| �|�}| �|�}|�t||||�� q|S )Nr )Z
ERR_get_errorZERR_GET_LIBZERR_GET_FUNCZERR_GET_REASON�appendr )r �errorsr Zerr_libZerr_funcZ
err_reasonr r r �_consume_errors'