
    Fcf                        d dl Z d dlZe j                            d d           dej        d<   d dlZd dlZd dlmZ d dl	m
Z d dl	mZ d dlmZmZ d d	lmZ d d
lmZmZ  G d de          Zedk    rd dlZ ej                     dS dS )    Nz
bin/python1PYTHONUNBUFFERED)env_get_var_value)libsmb_samba_internal)param)NTSTATUSErrorntstatus)KDCBaseTest)MUST_USE_KERBEROSDONT_USE_KERBEROSc                   >     e Zd ZdZ fdZd Zd Zd Z fdZ xZ	S )SmbMinDomainUidzTest for SMB authorization without NSS winbind. In such setup domain
       accounts are mapped to local accounts using the 'username map' option.
    c                    t          t          |                                            |                                 | _        t          d          | _        d| _        d| _        d| _	        | 
                    | j        | j                  \  | _        }t          d          }t          j                            |          }t          j                            |d          | _        d S )NSERVERrootcifstmpSMB_CONF_PATHzglobal_inject.conf)superr
   setUp	get_samdbsamdbr   	mach_name	user_nameservicesharecreate_account
user_credsospathdirnamejoinglobal_inject)self_server_confserver_conf_dir	__class__s       F/usr/lib/python3/dist-packages/samba/tests/krb5/test_min_domain_uid.pyr   zSmbMinDomainUid.setUp)   s    k4  &&((( ^^%%
*844
  $224:t~NN! (88'//+66W\\/;OPP    c                    t          j                    }|                    |                                 j                   |                    d                              d          }t          |d                   }t          j	        | j
                  }|                     |j        |           |                     |j        |           t          j        | j        | j        ||          }d }t%          | j        d          5 }|                    d|j        dz   z             d d d            n# 1 swxY w Y   |                     t,                    5 }t          j        | j        | j        ||          }d d d            n# 1 swxY w Y   t/          j        |j        j        d                   j        }	|                     |	t:          j                   t%          | j        d          5 }|                    d|j        z             d d d            n# 1 swxY w Y   t          j        | j        | j        ||          }d }t%          | j        d          5 }|                                 d d d            d S # 1 swxY w Y   d S )Nzidmap config * : range-r   )lpcredswzmin domain uid = %s
   ) s3paramget_contextloadget_lp
configfilegetsplitintpwdgetpwnamr   
assertLesspw_uidpw_gidlibsmbConnr   r   openr#   writeassertRaisesr   ctypesc_uint32	exceptionargsvalueassertEqualr	   NT_STATUS_INVALID_TOKENtruncate)
r$   r.   s3_lpdomain_rangedomain_range_lowunix_root_pwconnfcmcodes
             r)   _test_min_uidzSmbMinDomainUid._test_min_uid=   sR   #%%

4;;==+,,,yy!9::@@EE|A//|DN33+-=>>>+-=>>>{4>4:%uMMM $$c** 	IaGG+|/BQ/FGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I }-- 	,;t~#z"'%*, , ,D	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,
 r|0344:x?@@@ $$c** 	CaGG+l.AABBB	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C 	C {4>4:%uMMM$$c** 	aJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   !D22D69D6#FF
F
/HH HI??JJc                     | j                                         }| j                             t                     |                     | j                   }| j                             |           |S N)r   get_kerberos_stateset_kerberos_stater   rS   r$   
krb5_staterets      r)   test_min_domain_uid_krb5z(SmbMinDomainUid.test_min_domain_uid_krb5c   \    _7799
**+<===  11**:666
r*   c                     | j                                         }| j                             t                     |                     | j                   }| j                             |           |S rU   )r   rV   rW   r   rS   rX   s      r)   test_min_domain_uid_ntlmsspz+SmbMinDomainUid.test_min_domain_uid_ntlmsspj   r\   r*   c                     t          | j        d          5 }|                                 d d d            n# 1 swxY w Y   t          t          |                                            d S )Nr/   )r@   r#   rJ   r   r
   tearDown)r$   rP   r(   s     r)   r`   zSmbMinDomainUid.tearDownq   s    $$c** 	aJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	k4  ))+++++s   8<<)
__name__
__module____qualname____doc__r   rS   r[   r^   r`   __classcell__)r(   s   @r)   r   r   $   s         Q Q Q Q Q($ $ $L    , , , , , , , , ,r*   r   __main__)sysr   r    insertenvironr9   rC   samba.testsr   samba.samba3r   r>   r   r1   sambar   r	   samba.tests.krb5.kdc_base_testr
   samba.credentialsr   r   r   ra   unittestmain r*   r)   <module>rr      s(  & 


 				 <      !$
  



  ) ) ) ) ) ) 8 8 8 8 8 8 ) ) ) ) ) ) ) ) ) ) ) ) ) ) 6 6 6 6 6 6 B B B B B B B BR, R, R, R, R,k R, R, R,h zOOOHMOOOOO r*   