
    b4                     J   d dl Z d dlZd dlZd dlZ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 d dlmZ d dlmZ d dlmZmZmZmZ ej                            d d	           d
e j        d<   e G d de                      Zedk    rdZdZd dlZ ej                     dS dS )    N)param)system_session)Credentials)security)
ndr_unpack)SamDB)DynamicTestCaseTestCasedelete_forceenv_get_var_valuez
bin/python1PYTHONUNBUFFEREDc                       e Zd Zed             Ze fd            Zd Zi dddddd	d
dddddddddddddddddddddd d!d"d#d$d%i d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGi dHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdii djdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddZ xZS )SidStringTestsc                    t          dd          r6t          j        D ])}t          j        D ]}||z   }|| j        vr
d | j        |<   *| j                                        D ]\  }}|}|                     d|||            d S )NCHECK_ALL_COMBINATIONST)allow_missingtest_sid_string)r   stringascii_uppercasecasesitemsgenerate_dynamic_test)clsxycodeexpected_sidnames         9/usr/lib/python3/dist-packages/samba/tests/sid_strings.pysetUpDynamicTestCasesz$SidStringTests.setUpDynamicTestCases.   s    5+/1 1 1 	/+ / // / /Aq5D39,,*.	$/
 #&)//"3"3 	: 	:D,D%%&7&*L: : : :	: 	:    c                    t                                                       t          j        d         }d| }t	          j                    }|                    t          j        d                    t                      }|                    |           |	                    t          d                     |                    t          d                     t          ||t          |          |          | _        | j                                        | _        | j                                                                        | _        d S )N	DC_SERVERzldap://SMB_CONF_PATHDC_USERNAMEDC_PASSWORD)credentialssession_infolp)super
setUpClassosenvironr   LoadParmloadr   guessset_usernamer   set_passwordr   r   ldb	domain_dnbase_dnget_schema_basednget_linearized	schema_dn)r   serverhostr*   creds	__class__s        r    r,   zSidStringTests.setUpClass>   s   K(!!!^

?+,,,B,];;<<<,];;<<<%%3B%7%7B@ @ @g''))1133BBDDr"   c           	         t          j        dd          }t          j        dt          j                              }d| | }|                    dd          }d| d| j         }d	| d
| d| d| d	}	 | j                            |           n\# t          j	        $ rJ}	|	j
        \  }
}|                     |
t          j                   |                     |           Y d }	~	d S d }	~	ww xY w| j                            |t          j        dg          }|                     dt!          |                     |                     |d                             dd          d|                     d                     d}| j                            |           d| d| }d| d| j         }d	| d| d| d}| j                            |           | j                            |t          j        dg          }|                     dt!          |                     t+          | j        |           |d                             dd          }t-          t.          j        |          }| j                                        }|| dt.          j         }n|                    |          }t9          |j                  }|                     ||           d S )Nr   i z%szmy-Sid-String-Class- zCN=,z
dn: z
objectClass: classSchema
cn: z'
governsId: 1.3.6.1.4.1.7165.4.6.2.6.3.zG
subClassOf: top
possSuperiors: domainDNS
defaultSecurityDescriptor: O:
defaultSecurityDescriptor)scopeattrs   )idxzO:zutf-8z@
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
sddl__z
objectClass: z
cn: nTSecurityDescriptor)
domain_sid)randomrandinttimestrftimegmtimereplacer9   r4   add_ldifLdbErrorargsassertEqualERR_UNWILLING_TO_PERFORMassertIsNonesearch
SCOPE_BASElengetencodemodify_ldifr6   r   r   r   
descriptorget_domain_sidDOMAIN_RID_ADMINSformatstr	owner_sid)selfr   r   random_suffix	timestamp
class_nameclass_ldap_display_nameclass_dnldiferrnumrI   resobject_name	object_dndatar^   rK   rc   s                      r    _test_sid_string_with_argsz)SidStringTests._test_sid_string_with_argsR   sN   q&11M$66	E9EmEE
","4"4S""="=666dn66    (5	  #  	Hd####| 	 	 	XFCS#">???l+++FFFFF		 hoohcn%@$A  C CCHH%%%Q$?QGG$d++G44	6 	6 	6 	T"""9i99-996+6666	 %    
 	$ hoois~%;$<  > >CHH%%% 	TXy)))1vzz0az88 3T::
X,,..
(GG8+EGGLL'..*.EEL
,--	y11111s   6B C* ?C%%C*AAzS-1-5-32-579ACz
S-1-15-2-1ANzS-1-5-7AOzS-1-5-32-548APz{domain_sid}-525ASzS-1-18-1AUzS-1-5-11BAzS-1-5-32-544BGzS-1-5-32-546BOzS-1-5-32-551BUzS-1-5-32-545CAz{domain_sid}-517CDzS-1-5-32-574CGzS-1-3-1CNz{domain_sid}-522COzS-1-3-0CYzS-1-5-32-569DCz{domain_sid}-515DDz{domain_sid}-516DGz{domain_sid}-514DUz{domain_sid}-513EAz{domain_sid}-519EDzS-1-5-9EKz{domain_sid}-527ERzS-1-5-32-573ESzS-1-5-32-576HAzS-1-5-32-578HIzS-1-16-12288ISzS-1-5-32-568IUzS-1-5-4KAz{domain_sid}-526LAz{domain_sid}-500LGz{domain_sid}-501LSzS-1-5-19LUzS-1-5-32-559LWzS-1-16-4096MEzS-1-16-8192MPzS-1-16-8448MSzS-1-5-32-577MUzS-1-5-32-558NOzS-1-5-32-556NSzS-1-5-20NUzS-1-5-2OWzS-1-3-4PAz{domain_sid}-520POzS-1-5-32-550PSzS-1-5-10PUzS-1-5-32-547RAzS-1-5-32-575RCzS-1-5-12RDzS-1-5-32-555REzS-1-5-32-552RMzS-1-5-32-580ROz{domain_sid}-498RSz{domain_sid}-553RUzS-1-5-32-554SAz{domain_sid}-518SIzS-1-16-16384SOzS-1-5-32-549SSzS-1-18-2SUzS-1-5-6SYzS-1-5-18WDzS-1-1-0WRzS-1-5-33aaAaaABRN)IFLK)	__name__
__module____qualname__classmethodr!   r,   rq   r   __classcell__)r=   s   @r    r   r   ,   s{       : : [: E E E E [E&G2 G2 G2RInIlI 	iI 	n	I
 	 I 	jI 	jI 	nI 	nI 	nI 	nI 	 I 	nI 	iI 	 I  	i!I" 	n#I I$ 	 %I& 	 'I( 	 )I* 	 +I, 	 -I. 	i/I0 	 1I2 	n3I4 	n5I6 	n7I8 	n9I: 	n;I< 	i=I> 	 ?I@ 	 AIB 	 CID 	jEI I IF 	nGIH 	mIIJ 	mKIL 	mMIN 	nOIP 	nQIR 	nSIT 	jUIV 	iWIX 	iYIZ 	 [I\ 	n]I^ 	j_I` 	naIb 	ncId 	jeIf 	ngI I Ih 	niIj 	nkIl 	 mIn 	 oIp 	nqIr 	 sIt 	nuIv 	nwIx 	jyIz 	i{I| 	j}IB 	iCID 	jEIF 	nGIH 	nIIJ 	nKIL 	dMI IN QI I IEEEEEr"   r   __main__F) r-   rL   r   sysrN   r4   sambar   
samba.authr   samba.credentialsr   samba.dcerpcr   	samba.ndrr   samba.samdbr   samba.testsr	   r
   r   r   pathinsertr.   r   r   global_asn1_printglobal_hexdumpunittestmain r"   r    <module>r      s  $ 
			   



  



       % % % % % % ) ) ) ) ) ) ! ! ! ! ! !                              <      !$
  w w w w wX w w wt zNOOOHMOOOOO	 r"   