PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  Vc@sddlmZddlmZddlmZmZddlm Z edZ edZ edZ edZ d ejfd YZd S( i(tcreds(t named_tuples(timport_gssapi_extensiont _encode_dict(tnamest cred_imp_expts4ut cred_storetrfc5588t CredentialscBs eZdZdZddddddddZedZedZedZ edZ e ddddddZ ddde e dZdddd d Zeeeed Zeeeed Zdddddd ZdZdZRS(s<GSSAPI Credentials This class represents a set of GSSAPI credentials which may be used with and/or returned by other GSSAPI methods. It inherits from the low-level GSSAPI :class:`~gssapi.raw.creds.Creds` class, and thus may used with both low-level and high-level API methods. If your implementation of GSSAPI supports the credentials import-export extension, you may pickle and unpickle this object. The constructor either acquires or imports a set of GSSAPI credentials. If the `base` argument is used, an existing :class:`~gssapi.raw.creds.Cred` object from the low-level API is converted into a high-level object. If the `token` argument is used, the credentials are imported using the token, if the credentials import-export extension is supported (:requires-ext:`cred_imp_exp`). Otherwise, the credentials are acquired as per the :meth:`acquire` method. Raises: BadMechanismError BadNameTypeError BadNameError ExpiredCredentialsError MissingCredentialsError tbothc Cs|dk r|}n`|dk rNtdkr<tdntj|}n'|j||||d|} | j}tt|j||S(NsWYour GSSAPI implementation does not have support for importing and exporting creditialststore( tNonet rcred_imp_exptNotImplementedErrort import_credtacquireRtsuperR t__new__( tclstbasettokentnametlifetimetmechstusageR t base_credstres((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyR1s      c Cs%|jdtdtdtdtjS(s.Get the name associated with these credentialsRRRR(tinquiretTruetFalseR(tself((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyREsc Cs%|jdtdtdtdtjS(s/Get the remaining lifetime of these credentialsRRRR(RRRR(R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyRKsc Cs%|jdtdtdtdtjS(s(Get the mechanisms for these credentialsRRRR(RRRR(R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyRQsc Cs%|jdtdtdtdtjS(s>Get the usage (initiate, accept, or both) of these credentialsRRRR(RRRR(R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyRWscCs|dkr'tj||||}nBtdkrBtdnt|}tj|||||}tj|d|j |j |j S(sAcquire GSSAPI credentials This method acquires credentials. If the `store` argument is used, the credentials will be acquired from the given credential store (if supported). Otherwise, the credentials are acquired from the default store. The credential store information is a dictionary containing mechanisms-specific keys and values pointing to a credential store or stores. Using a non-default store requires support for the credentials store extension. Args: name (Name): the name associated with the credentials, or None for the default name lifetime (int): the desired lifetime of the credentials, or None for indefinite mechs (list): the desired :class:`MechType`s to be used with the credentials, or None for the default set usage (str): the usage for the credentials -- either 'both', 'initiate', or 'accept' store (dict): the credential store information pointing to the credential store from which to acquire the credentials, or None for the default store (:requires-ext:`cred_store`) Returns: AcquireCredResult: the acquired credentials and information about them Raises: BadMechanismError BadNameTypeError BadNameError ExpiredCredentialsError MissingCredentialsError sSYour GSSAPI implementation does not have support for manipulating credential storesRN( R trcredst acquire_credtrcred_cred_storeRRtacquire_cred_fromttuplestAcquireCredResultRRR(RRRRRR R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyR]s*      cCs|dkr@tdkr'tdntj|||||Stdkr[tdnt|}tj||||||SdS(sStore these credentials into the given store This method stores the current credentials into the specified credentials store. If the default store is used, support for :rfc:`5588` is required. Otherwise, support for the credentials store extension is required. :requires-ext:`rfc5588` or :requires-ext:`cred_store` Args: store (dict): the store into which to store the credentials, or None for the default store. usage (str): the usage to store the credentials with -- either 'both', 'initiate', or 'accept' mech (OID): the :class:`MechType` to associate with the stored credentials overwrite (bool): whether or not to overwrite existing credentials stored with the same name, etc set_default (bool): whether or not to set these credentials as the default credentials for the given store. Returns: StoreCredResult: the results of the credential storing operation Raises: GSSError ExpiredCredentialsError MissingCredentialsError OperationUnavailableError DuplicateCredentialsElementError s=Your GSSAPI implementation does not have support for RFC 5588s\Your GSSAPI implementation does not have support for manipulating credential stores directlyN(R t rcred_rfc5588Rt store_credR"Rtstore_cred_into(RR Rtmecht overwritet set_default((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyR s"     tinitiatecCsLtdkrtdntj|||||}t|d|jS(sImpersonate a name using the current credentials This method acquires credentials by impersonating another name using the current credentials. :requires-ext:`s4u` Args: name (Name): the name to impersonate lifetime (int): the desired lifetime of the new credentials, or None for indefinite mechs (list): the desired :class:`MechType`s for the new credentials usage (str): the desired usage for the new credentials -- either 'both', 'initiate', or 'accept'. Note that some mechanisms may only support 'initiate'. Returns: Credentials: the new credentials impersonating the given name s8Your GSSAPI implementation does not have support for S4URN(t rcred_s4uR Rtacquire_cred_impersonate_namettypeR(RRRRRR((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyt impersonates    cCsdtj|||||}|jdk r?tj|j}nd}tj||j|j |j S(sInspect these credentials for information This method inspects these credentials for information about them. Args: name (bool): get the name associated with the credentials lifetime (bool): get the remaining lifetime for the credentials usage (bool): get the usage for the credentials mechs (bool): get the mechanisms associated with the credentials Returns: InquireCredResult: the information about the credentials, with None used when the corresponding argument was False Raises: MissingCredentialsError InvalidCredentialsError ExpiredCredentialsError N( R t inquire_credRR RtNameR$tInquireCredResultRRR(RRRRRRtres_name((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyRs cCsgtj||||||}|jdk rBtj|j}nd}tj||j|j |j S(sInspect these credentials for per-mechanism information This method inspects these credentials for per-mechanism information about them. Args: mech (OID): the mechanism for which to retrive the information name (bool): get the name associated with the credentials init_lifetime (bool): get the remaining initiate lifetime for the credentials accept_lifetime (bool): get the remaining accept lifetime for the credentials usage (bool): get the usage for the credentials Returns: InquireCredByMechResult: the information about the credentials, with None used when the corresponding argument was False N( R tinquire_cred_by_mechRR RR2R$tInquireCredByMechResultt init_lifetimetaccept_lifetimeR(RR)RR7R8RRR4((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pytinquire_by_mech s  c Cs|dk r'|dk r'tdn|dk r~tdkrNtdnt|}tj|||||||}ni|dk rtdkrtdntj|||||||}ntj ||||||}t |j S(s Acquire more credentials to add to the current set This method works like :meth:`acquire`, except that it adds the acquired credentials for a single mechanism to a copy of the current set, instead of creating a new set for multiple mechanisms. Unlike :meth:`acquire`, you cannot pass None desired name or mechanism. If the `impersonator` argument is used, the credentials will impersonate the given name using the impersonator credentials (:requires-ext:`s4u`). If the `store` argument is used, the credentials will be acquired from the given credential store (:requires-ext:`cred_store`). Otherwise, the credentials are acquired from the default store. The credential store information is a dictionary containing mechanisms-specific keys and values pointing to a credential store or stores. Note that the `store` argument is not compatible with the `impersonator` argument. Args: name (Name): the name associated with the credentials mech (OID): the desired :class:`MechType` to be used with the credentials usage (str): the usage for the credentials -- either 'both', 'initiate', or 'accept' init_lifetime (int): the desired initiate lifetime of the credentials, or None for indefinite accept_lifetime (int): the desired accept lifetime of the credentials, or None for indefinite impersonator (Credentials): the credentials to use to impersonate the given name, or None to not acquire normally (:requires-ext:`s4u`) store (dict): the credential store information pointing to the credential store from which to acquire the credentials, or None for the default store (:requires-ext:`cred_store`) Returns: Credentials: the credentials set containing the current credentials and the newly acquired ones. Raises: BadMechanismError BadNameTypeError BadNameError DuplicateCredentialsElementError ExpiredCredentialsError MissingCredentialsError sMYou cannot use both the `impersonator` and `store` arguments at the same timesSYour GSSAPI implementation does not have support for manipulating credential storess8Your GSSAPI implementation does not have support for S4UN( R t ValueErrorR"RRt add_cred_fromR-tadd_cred_impersonate_nameR tadd_credR R( RRR)RR7R8t impersonatorR R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pytadd/s&9          cCs(tdkrtdntj|S(syExport these credentials into a token This method exports the current credentials to a token that can then be imported by passing the `token` argument to the constructor. This is often used to pass credentials between processes. :requires-ext:`cred_imp_exp` Returns: bytes: the exported credentials in token form sWYour GSSAPI implementation does not have support for importing and exporting creditialsN(R R Rt export_cred(R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pytexports cCst|d|jffS(N(R/R RA(R((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyt __reduce__s(N(t__name__t __module__t__doc__t __slots__R RtpropertyRRRRt classmethodRRR R0RRR9R?RARB(((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyR s.   : 3  !  S N(t gssapi.rawRR RR$t gssapi._utilsRRtgssapiRR R-R"R&tCredsR (((s2/usr/lib64/python2.7/site-packages/gssapi/creds.pyts