File: //var/opt/nydus/ops/oscrypto/_mac/__pycache__/_security.cpython-39.pyc
a
�,�hZ � @ s� d dl mZmZmZmZ ddlmZ ddlmZ ddl m
Z
mZ e� dkrlddlm
Z
mZ dd lmZmZ n ddlm
Z
mZ dd lmZmZ g d
�Zddd
�Zdd� Ze�e
�� e� G dd� d�ZdS )� )�unicode_literals�division�absolute_import�print_function� )�ffi)�null)�TLSDisconnectError�TLSGracefulDisconnectErrorZcffi� )�Security�version_info)�CoreFoundation� CFHelpers)�handle_sec_error�osx_version_infor �
SecurityConstNc C s� | dkrdS | t tjtjg�v r(td��| tjkr:td��t�| t � �}t
�|�}t�
|� |du sl|dkrtd| }|du r�t}||��dS )a<
Checks a Security OSStatus error code and throws an exception if there is an
error to report
:param error:
An OSStatus
:param exception_class:
The exception class to use for the exception if an error occurred
:raises:
OSError - when the OSStatus contains an error
r Nz$The remote end closed the connection� zOSStatus %s)�setr �errSSLClosedNoNotify�errSSLClosedAbortr �errSSLClosedGracefulr
r ZSecCopyErrorMessageStringr r Zcf_string_to_unicoder Z CFRelease�OSError)�errorZexception_classZcf_error_string�output� r �H/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/oscrypto/_mac/_security.pyr s
r c C s t �| �}t�|�S )N)r ZSecPolicyCopyPropertiesr Zcf_dictionary_to_dict)�valueZproperties_dictr r r �_extract_policy_properties<