HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/samba/tests/krb5/__pycache__/test_idmap_nss.cpython-310.pyc
o

eF�cO#�@s�ddlZddlZej�dd�dejd<ddlmZddlmZddl	m
Z
ddlmZdd	l
mZdd
lmZmZddlmZddlmZdd
lmZdZdZGdd�de�ZedkrjdZdZddlZe��dSdS)�Nz
bin/python�1�PYTHONUNBUFFERED)�
SCOPE_SUBTREE)�
NTSTATUSError)�DONT_USE_KERBEROS)�security)�
ndr_unpack)� NT_STATUS_NO_IMPERSONATION_TOKEN�NT_STATUS_LOGON_FAILURE)�libsmb_samba_internal)�param)�KDCBaseTestFc@s�eZdZdZe�de���ZdZe�de���Z		d!dd�Z			d!dd	�Z
		d!d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z					d"dd �ZdS)#�
IdmapNssTestsi�z	S-1-22-1-i�FTcC�|jd||d�}|�d�|S)N�MAPPED��prefix�allow_missing_password�allow_missing_keys���_get_krb5_creds�set_workstation��selfrr�c�r�A/usr/lib/python3/dist-packages/samba/tests/krb5/test_idmap_nss.py�get_mapped_creds3��
zIdmapNssTests.get_mapped_credscCr)N�UNMAPPEDrrrrrrr�get_unmapped_creds<rz IdmapNssTests.get_unmapped_credscCr)N�INVALIDrrrrrrr�get_invalid_credsErzIdmapNssTests.get_invalid_credscC�"|��}|j|d|j|jd�dS)NT��use_kerberos�expected_first_sid�expected_uid�r�_run_idmap_nss_test�mappeduser_sid�mappeduser_uid�r�
user_credsrrr�test_mapped_user_kerberosO�

�z'IdmapNssTests.test_mapped_user_kerberoscCr$)NFr%r)r-rrr�test_mapped_user_ntlmVr0z#IdmapNssTests.test_mapped_user_ntlmcC�|��}|j|ddtd�dS�NT)r&�
remove_pac�expected_error)rr*r	r-rrr� test_mapped_user_no_pac_kerberos\�

�z.IdmapNssTests.test_mapped_user_no_pac_kerberoscCr$)NT�r&�expected_additional_sidr(�r!r*�unmappeduser_sid�unmappeduser_uidr-rrr�test_unmapped_user_kerberosbr0z)IdmapNssTests.test_unmapped_user_kerberoscCr$)NFr8r:r-rrr�test_unmapped_user_ntlmhr0z%IdmapNssTests.test_unmapped_user_ntlmcCr2r3)r!r*r	r-rrr�"test_unmapped_user_no_pac_kerberosnr7z0IdmapNssTests.test_unmapped_user_no_pac_kerberoscC�|��}|j|dtd�dS)NT�r&r5�r#r*r
r-rrr�test_invalid_user_kerberost�
�z(IdmapNssTests.test_invalid_user_kerberoscCr@)NFrArBr-rrr�test_invalid_user_ntlmyrDz$IdmapNssTests.test_invalid_user_ntlmcCr2r3)r#r*r	r-rrr�!test_invalid_user_no_pac_kerberos~r7z/IdmapNssTests.test_invalid_user_no_pac_kerberosNc
CsX|dur	|�|�|dur|�|�|dur|�|�|s"|�|�|��}|j}	d}
d}|��}|dur[|��}
|jtd|
�d�dgd�}|�	dt
|��ttj
|djddd	��}|r�|j|||
|	|d
�\}}|�tj|j�tj�dd�}|�tjjd|�d
|jtjd<n|}|�t�t��}|�|��j�|�d�}|�|jd|�|�dd�|�d�}|�|jd|�|�dd�ztj|	|||d�}Wnt y�}z|j!\}}|�	||�WYd}~dSd}~ww|�|�|�"�\}}}}}|�	||d�|�#||dd��|�r|�$||d�|�%||�|�|�|�	||�dS)N�cifs�tmpz(sAMAccountName=�)�	objectSid)�scope�
expression�attrs�r)�idx)�pac�
KRB5CCNAMErzFILE:zclient min protocol�NT1zclient max protocol)�lp�creds���)&�assertIsNotNone�assertIsNone�assertFalse�	get_samdb�host�get_server_creds�get_username�searchr�assertEqual�lenrr�dom_sid�get�create_ccache_with_user�
addCleanup�os�remove�name�environ�__setitem__�set_kerberos_stater�s3param�get_context�load�get_lp�
configfile�set�libsmb�Connr�args�posix_whoami�assertNotIn�assertNotEqual�assertIn)rr.r&r4r5r'r9r(�samdb�server_name�service�share�server_creds�	user_name�resrT�	cachefile�krb5_ccname�s3_lp�min_protocol�max_protocol�conn�e�enum�_�uid�gid�gids�sids�guestrrrr*�s|




��
�



��

z!IdmapNssTests._run_idmap_nss_test)FT)FNNNN)�__name__�
__module__�__qualname__r,rr`r+r<r;rr!r#r/r1r6r=r>r?rCrErFr*rrrrr,s:
�

�

�
�r�__main__)�sysrd�path�insertrg�ldbr�sambar�samba.credentialsr�samba.dcerpcr�	samba.ndrr�samba.ntstatusr	r
�samba.samba3rrprrj�samba.tests.krb5.kdc_base_testr
�global_asn1_print�global_hexdumprr��unittest�mainrrrr�<module>s.
9�