File: //usr/lib/python3/dist-packages/samba/provision/__pycache__/sambadns.cpython-310.pyc
o
ɣ�b� � @ s0 d Z ddlZddlZddlZddlZddlZddlmZ ddlZddl Z ddl
mZ ddlm
Z
ddlmZmZ ddl mZ ddlmZmZmZ dd lmZmZmZmZmZmZ dd
lmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. dd
l/m0Z0 dd� Z1dd� Z2G dd� dej3�Z4G dd� dej3�Z5G dd� dej3�Z6G dd� dej3�Z7G dd� dej3�Z8G dd� dej3�Z9G dd� dej3�Z:G d d!� d!ej;�Z<G d"d#� d#ej;�Z=G d$d%� d%ej;�Z>G d&d'� d'ej;�Z?G d(d)� d)ej;�Z@G d*d+� d+ej;�ZAG d,d-� d-ej;�ZBd.d/� ZCd0d1� ZDdld3d4�ZEd5d6� ZFd7d8� ZGd9d:� ZHd;d<� ZId=d>� ZJd?d@� ZKdAdB� ZLdCdD� ZMdEdF� ZNdGdH� ZOdIdJ� ZPdKdL� ZQdMdN� ZRdOdP� ZSdQdR� ZTdSdT� ZUdUdV� ZVdWdX� ZWdYdZ� ZXd[d\� ZYd]d^� ZZd_d`� Z[dadb� Z\dcdd� Z]dee)defdfdg�Z^dddde)dfdhdi�Z_ dmdjdk�Z`dS )nzDNS-related provisioning� N)� b64encode)�tdb_copy)�mdb_copy)�ndr_pack�
ndr_unpack)�
setup_file)�dnsp�misc�security)�DS_DOMAIN_FUNCTION_2000�DS_DOMAIN_FUNCTION_2003�DS_DOMAIN_FUNCTION_2008_R2�DS_DOMAIN_FUNCTION_2012_R2�DS_DOMAIN_FUNCTION_2016�DS_GUID_USERS_CONTAINER)�get_domain_descriptor�'get_domain_delete_protected1_descriptor�'get_domain_delete_protected2_descriptor�get_dns_partition_descriptor�'get_dns_forest_microsoft_dns_descriptor�'get_dns_domain_microsoft_dns_descriptor)�
setup_path�setup_add_ldif�setup_modify_ldif� setup_ldb� FILL_FULL�FILL_SUBDOMAIN�FILL_NT4SYNC�FILL_DRS)�get_default_backend_store)�
get_stringc C s4 | j |tjdgd�}tttj|d d d ��}|S )N�
objectGUID��base�scope�attrsr )�search�ldb�
SCOPE_BASE�strr r �GUID)�samdb�domaindn�res�
domainguid� r/ �:/usr/lib/python3/dist-packages/samba/provision/sambadns.py�get_domainguidB s r1 c C sH d| � t�| |�t� }| j|tjdgd�}ttj|d d d �}|S )NzCN=DnsAdmins,%s� objectSidr"