o
    �õ±j3  ã                   @   sX   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dlm
Z
 G dd„ deƒZdS )	é    )ÚList)ÚUniCredential)ÚasyauthSecretÚasyauthProtocolÚasyauthSubProtocol)ÚSubProtocol)ÚSubProtocolNativec                   @   s2   e Zd Zg eƒ fdee defdd„Zdd„ ZdS )ÚSPNEGOEXCredentialÚcredentialsÚsubprotocolc                 C   s   t j| tj|d� || _d S )N)Úprotocolr   )r   Ú__init__r   ÚSPNEGOEXr
   )Úselfr
   r   © r   ú–/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/common/credentials/spnegoex.pyr      s   
zSPNEGOEXCredential.__init__c                 O   sˆ   | j jtjkr=ddlm} || ƒ}| jD ]&}| ¡ }|jt	j
kr'| d|¡ q|jt	jkr4| d|¡ qtd|j ƒ‚|S td| j  ƒ‚)Nr   )ÚSPNEGOClientNativezMS KRB5 - Microsoft Kerberos 5z2NTLMSSP - Microsoft NTLM Security Support Providerz8Authentication protocol "%s" is not supported for SPNEGOzUnsupported subprotocol "%s")r   Útyper   ÚNATIVEÚ&asyauth.protocols.spnego.client.nativer   r
   Úbuild_contextr   r   ÚKERBEROSÚadd_auth_contextÚNTLMÚ	Exception)r   ÚargsÚkwargsr   Ússpi_ctxÚ
credentialÚcontextr   r   r   r      s   
z SPNEGOEXCredential.build_contextN)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r	      s    r	   N)Útypingr   Úasyauth.common.credentialsr   Úasyauth.common.constantsr   r   r   Úasyauth.common.subprotocolsr   r   r	   r   r   r   r   Ú<module>   s    