File: //usr/lib/python3/dist-packages/samba/tests/__pycache__/password_hash_ldap.cpython-310.pyc
o
�/ab � @ s� d Z ddlmZmZmZmZ ddlmZ ddlm Z ddl
mZmZm
Z
ddlmZmZ ddlmZ ddlZddlZd d
� ZG dd� de�ZdS )
a
Tests for source4/dsdb/samdb/ldb_modules/password_hash.c
These tests are designed to also run against Windows to confirm the values
returned from Windows.
To run against Windows:
Set the following environment variables:
PASSWORD=Administrator password
USERNAME=Administrator
SMB_CONF_PATH=/dev/null
PYTHONPATH=bin/python
SERVER=Windows server IP
/usr/bin/python source4/scripting/bin/subunitrun
samba.tests.password_hash_ldap.PassWordHashLDAPTests
-U"Administrator%adminpassword"
� )�PassWordHashTests�get_package� USER_NAME� USER_PASS)�SamDB)�
ndr_unpack)�drsblobs�drsuapi�misc)� drs_utils�net)�CredentialsNc C s | d@ |d@ kS )Nl �� � )�a1�a2r r �@/usr/lib/python3/dist-packages/samba/tests/password_hash_ldap.py�attid_equal5 s r c s, e Zd Z� fdd�Zdd� Zdd� Z� ZS )�PassWordHashLDAPTestsc s t t| ��� d S )N)�superr �setUp)�self�� __class__r r r ; s zPassWordHashLDAPTests.setUpc C sv dt jd }dt d | j }t�|| �� | j�}t�|�\}}t� � }t
�� }||_||_
t�� |_||j_t�� |_d|j_d|j_d|j_d |_tjtjB tjB tjB tjB |_d|_d|_tj|_ d|_!d |_"d |_#d|j$_%d |j$_&|�'|d|�\}} | j(}
|
j)}d }t*d|j+j,�D ]#}
|j+j-|
}t.|j/tj0�r�t1�2| j�}|�3||d� |j4j5d j6}q�t7t8j9|�}|S ) Nzncacn_ip_tcp:%s[seal]�SERVERzcn=z
,cn=users,r i� i�" � ):�os�environr �base_dnr �get_loadparm�credsr �
drs_DsBind�DsGetNCChangesRequest8r
�GUID�destination_dsa_guid�source_dsa_invocation_id�DsReplicaObjectIdentifier�naming_context�dn�DsReplicaHighWaterMark�
highwatermark�tmp_highest_usn�reserved_usn�highest_usn�uptodateness_vector�DRSUAPI_DRS_INIT_SYNC�DRSUAPI_DRS_PER_SYNC�DRSUAPI_DRS_GET_ANC�DRSUAPI_DRS_NEVER_SYNCED�DRSUAPI_DRS_WRIT_REP�
replica_flags�max_object_count�max_ndr_size�DRSUAPI_EXOP_REPL_OBJ�extended_op� fsmo_info�partial_attribute_set�partial_attribute_set_ex�mapping_ctr�num_mappings�mappings�DsGetNCChanges�first_object�object�range�
attribute_ctr�num_attributes�
attributesr �attid�%DRSUAPI_ATTID_supplementalCredentialsr �Net�replicate_decrypt� value_ctr�values�blobr r �supplementalCredentialsBlob)r �binding_strr'