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: //lib/python3/dist-packages/samba/tests/__pycache__/security.cpython-310.pyc
o

�/a��@s�dZddlZddlmZddlmZddlmZddlmZGdd�dej	j
�ZGd	d
�d
ej	j
�ZGdd�dej	j
�Z
Gd
d�dej	j
�ZGdd�dej	j
�ZdS)z Tests for samba.dcerpc.security.�N)�security)�access_check)�ntstatus)�
NTSTATUSErrorcsLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�SecurityTokenTestsc�tt|���t��|_dS�N)�superr�setUpr�token��self��	__class__��6/usr/lib/python3/dist-packages/samba/tests/security.pyr
�zSecurityTokenTests.setUpcC�|�|j���dSr)�assertFalser�	is_systemrrrr�test_is_system!�z!SecurityTokenTests.test_is_systemcCrr)rr�is_anonymousrrrr�test_is_anonymous$rz$SecurityTokenTests.test_is_anonymouscCrr)rr�has_builtin_administratorsrrrr�test_has_builtin_administrators'rz2SecurityTokenTests.test_has_builtin_administratorscCrr)rr�has_nt_authenticated_usersrrrr�test_has_nt_authenticated_users*rz2SecurityTokenTests.test_has_nt_authenticated_userscCs|�|j�tj��dSr)rr�
has_privileger�SEC_PRIV_SHUTDOWNrrrr�
test_has_priv-sz SecurityTokenTests.test_has_privcCs@|�|j�tj��|�|j�tj��|�|j�tj��dSr)rrrrr�
set_privilege�
assertTruerrrr�
test_set_priv0sz SecurityTokenTests.test_set_priv)�__name__�
__module__�__qualname__r
rrrrr r#�
__classcell__rrrrrsrcsdeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Z�Z
S)�SecurityDescriptorTestscrr)r	r(r
r�
descriptorrrrrr
8rzSecurityDescriptorTests.setUpcCsjtj�dt�d��}|�|jt�d��|�|jt�d��|�|jd�|�|jd�|�|j	d�dS)N�-O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)�S-2-0-0�S-2-0-0-512zS-1-5-32-548�i�)
rr)�	from_sddl�dom_sid�assertEqual�	group_sid�	owner_sid�revision�sacl�type)r
�descrrr�test_from_sddl<sz&SecurityDescriptorTests.test_from_sddlcCs|�ttjjdt�d��dS)N�foor+��assertRaises�	TypeErrorrr)r.r/rrrr�test_from_sddl_invalidsddlDsz2SecurityDescriptorTests.test_from_sddl_invalidsddlcCs$|�ttjjt�d�t�d��dS)Nr,r+r9rrrr�test_from_sddl_invalidtype1Gs$z3SecurityDescriptorTests.test_from_sddl_invalidtype1cCsd}|�ttjj|d�dS�Nr*r+)r:r;rr)r.)r
�sddlrrr�test_from_sddl_invalidtype2Js�z3SecurityDescriptorTests.test_from_sddl_invalidtype2cCstd}t�d�}tj�||�}tj�|�|�|�}|�|j|j�|�|j|j�|�|j|j�|�|j	|j	�dSr>�
rr/r)r.�as_sddlr0r1r2r4r5)r
�text�dom�desc1�desc2rrr�test_as_sddlOs
z$SecurityDescriptorTests.test_as_sddlcCs0d}t�d�}tj�||�}|�t|j|�dSr>)rr/r)r.r:r;rB)r
rCrDrErrr�test_as_sddl_invalidYs
z,SecurityDescriptorTests.test_as_sddl_invalidcCsrt�d�}d}tj�||�}tj�|��|�}|�|j|j�|�|j|j�|�|j|j�|�|j	|j	�dS�Nr+r*rA)r
rDrCrErFrrr�test_as_sddl_no_domainsid_s
z1SecurityDescriptorTests.test_as_sddl_no_domainsidcCs6t�d�}d}tj�||�}|�|��|�|��dSrI)rr/r)r.�assertNotEqualrB)r
rDrCrErrr�test_domsid_nodomsid_as_sddlis
z4SecurityDescriptorTests.test_domsid_nodomsid_as_sddlcCs(t�d�}|�t�d�df|���dS)NzS-2-0-7zS-2-0�)rr/r0�split)r
rDrrr�
test_splitos
z"SecurityDescriptorTests.test_split)r$r%r&r
r7r<r=r@rGrHrJrLrOr'rrrrr(6s

r(c@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�DomSidTestscCst�d�}|�dt|��dS�NzS-1-5-21)rr/r0�str�r
�sidrrr�test_parse_sidvs
zDomSidTests.test_parse_sidcCs0t�d�}t�d�}|�||�|�||�dSrQ)rr/r0)r
�sid1�sid2rrr�test_sid_equalzs

zDomSidTests.test_sid_equalcC� t��}|�t|��d��dS)Nz	S-1-5-21-)r�
random_sidr"rR�
startswithrSrrr�test_random��zDomSidTests.test_randomcCrY)Nzdom_sid('S-1-5-21-)rrZr"�reprr[rSrrr�	test_repr�r]zDomSidTests.test_reprN)r$r%r&rUrXr\r_rrrrrPts
rPc@seZdZdd�Zdd�ZdS)�PrivilegeTestscCs|�dt�tj��dS�N�SeShutdownPrivilege)r0r�privilege_namerrrrr�test_privilege_name�s
�z"PrivilegeTests.test_privilege_namecCs|�tjt�d��dSra)r0rr�privilege_idrrrr�test_privilege_id�s�z PrivilegeTests.test_privilege_idN)r$r%r&rdrfrrrrr`�sr`c@seZdZdd�ZdS)�CheckAccessTestsc
Cs�tj�dt�d��}t��}|�t||d�d�tjtj	ftj
tjff}|D]1\}}zt|||�}Wq&tyW}z|�
t|t��|j\}}	|�||�WYd}~q&d}~wwdS)Nr*r+r)rr)r.r/rr0r�SEC_FLAG_SYSTEM_SECURITYr�NT_STATUS_PRIVILEGE_NOT_HELD�SEC_STD_READ_CONTROL�NT_STATUS_ACCESS_DENIED�	Exceptionr"�
isinstancer�args)
r
r6r�params�arg�num�result�e�e_num�e_msgrrr�test_check_access�s$�
�
���z"CheckAccessTests.test_check_accessN)r$r%r&rvrrrrrg�srg)�__doc__�samba.tests�samba�samba.dcerpcr�samba.securityrrr�tests�TestCaserr(rPr`rgrrrr�<module>s>