pgWddlZddlZddlZddlZddlZddlmZddlmZddlm Z m Z ddl m Z ej ddefdefd efd efgZGd d Zd ejefdZdejed ejefdZdZ ddedejejed dfdZdZGddZdZdZeejeeej dS)N)utils) InternalError)ffilib)CONDITIONAL_NAMES_OpenSSLErrorWithTextcoderreason reason_textceZdZdededefdZdededefdZedefdZedefdZ edefd Z d S) _OpenSSLErrorr rr c0||_||_||_dSN)_code_lib_reason)selfr rr s N/usr/lib/python3/dist-packages/cryptography/hazmat/bindings/openssl/binding.py__init__z_OpenSSLError.__init__s   returnc.||jko ||jkSr)rr )rrr s r_lib_reason_matchz_OpenSSLError._lib_reason_matchsdh86T[#88rc|jSr)rrs rr z_OpenSSLError.code s zrc|jSr)rrs rrz_OpenSSLError.lib$s yrc|jSr)rrs rr z_OpenSSLError.reason(s |rN) __name__ __module__ __qualname__intrboolrpropertyr rr rrr r sSsC 9S9#9$9999cXSXXrr rcg} |j}|dkrnE|j|}|j|}|t |||[|S)NTr) ERR_get_error ERR_GET_LIBERR_GET_REASONappendr )rerrorsr err_lib err_reasons r_consume_errorsr--sw F@%C%'' 199 &st,,,#,T22  mD':>>???@ Mrr*c g}|D]}tjdd}tj|j|t |tj|}|t|j|j|j ||S)Nzchar[]) rnewrERR_error_string_nr lenstringr)rr )r*errors_with_texterrbuferr_text_reasons r_errors_with_textr8<s   gh$$ sxc#hh777!$C !#'3:      rc:tt|Sr)r8r-rs r_consume_errors_with_textr;Ns _S11 2 22rokc|sC|t|}t|}td||dS)NaiUnknown OpenSSL error. This error is commonly encountered when another library is not cleaning up the OpenSSL error stack. If you are using cryptography with another library that uses OpenSSL try disabling it before reporting a bug. Otherwise please file an issue at https://github.com/pyca/cryptography/issues with information on how to reproduce this. ({0!r}))r-r8rformat)rr<r*r4s r_openssl_assertr?Rs`  >$S))F,V44  #F#344      rc Ptjd}||_t}|D]2\}}t ||s||3t|D]%}||vrt||t ||&|S)Nr) types ModuleType _original_libsetitemsgetattrupdatedirsetattr)rconditional_namesconditional_libexcluded_names conditionnames_cbattrs rbuild_conditional_libraryrPfs&u--O$'O!UUN06688.. 8sI&& .  ! !((** - - -C?? ~ % % OT73+=+= > > > rceZdZUdZdZejed<eZdZ e j Z dZ ejed<dZejed<dZd d Zed Zed Zed ZdS)Bindingz OpenSSL API wrapper. NrF_legacy_provider_default_providerc.|dSr_ensure_ffi_initializedrs rrzBinding.__init__s $$&&&&&rrct|j|jj|j|jjd|_t|j|j|jjk|j|jjd|j_t|j|jj|jjk|j|jjd}t|j|dkdS)Nsbasesfips) r?r#CRYPTOGRAPHY_OPENSSL_300_OR_GREATEROSSL_PROVIDER_loadrNULL_base_provider_fips_provider"EVP_default_properties_enable_fips)rress r _enable_fipszBinding._enable_fipss $("NOOO"h99 HM7   $"5"FGGG"&("="= HM7# #  $("9TX]"JKKKh99$(-KK#(+++++rc|j|jjr2|j}t |j|dvdSdS)N)rY)rERR_clear_error"CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE Cryptography_add_osrandom_enginer?)clsresults r_register_osrandom_enginez!Binding._register_osrandom_engines_ !!! 7 5 7W==??F CGVv%5 6 6 6 6 6 7 7rc(|j5|jsttt|_d|_||jjr|j|jj d|_ t|j|j |jj k|j|jj d|_ t|j|j |jj kddddS#1swxYwYdS)NTslegacysdefault) _init_lock _lib_loadedrPrrrirZr[rr\rSr?rTrgs rrWzBinding._ensure_ffi_initializedsH ^  ? 3C9JKK"&--/// 7> +.7+E+E i,,C($!5!E-0G,F,F j--C)$!6#',!F)                  sC2DD D c.|dSrrVrms rinit_static_lockszBinding.init_static_lockss ##%%%%%r)rN)rrr __doc__rtypingClassVar__annotations__rrl threadingLockrkrSAnyrTrra classmethodrirWror$rrrRrRus C CK!!J#'fj'''$(vz(((''',,,,  7 7[ 7[2&&[&&&rrRcz|jr/|js*|js%tjdt jdSdSdSdS)NzOpenSSL version 1.1.0 is no longer supported by the OpenSSL project, please upgrade. The next release of cryptography will drop support for OpenSSL 1.1.0.)"CRYPTOGRAPHY_OPENSSL_LESS_THAN_111CRYPTOGRAPHY_IS_LIBRESSLCRYPTOGRAPHY_IS_BORINGSSLwarningswarnrDeprecatedIn37r:s r_verify_openssl_versionrsp .  ,  -    .             rctjtj}|d|kr#t d||dS)NasciiaThe version of cryptography does not match the loaded shared object. This can happen if you have multiple copies of cryptography installed in your Python path. Please try creating a new virtual environment to resolve this issue. Loaded python version: {}, shared object version: {})rr3rCRYPTOGRAPHY_PACKAGE_VERSIONencode ImportErrorr>)versionso_package_versions r_verify_package_versionrsjC$DEE~~g"444 CDJ6+DD    54rr)rtrArqr| cryptographyrcryptography.exceptionsr%cryptography.hazmat.bindings._opensslrr1cryptography.hazmat.bindings.openssl._conditionalr NamedTupler!bytesrr Listr-r8r;r"Optionalr?rPrRrr __version__ror$rrrs.  111111::::::::OOOOOO)) c]UCL8S/M53IJ , FK 6     K & [&'$333 JN   !?6;}+EF      (   G&G&G&G&G&G&G&G&T       * 0111 $$$$$r