File: //lib/python3/dist-packages/samba/netcmd/__pycache__/ldapcmp.cpython-310.pyc
o
�/am� � @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
mZmZmZmZ d dlmZmZmZ e�d�ZG dd � d e�ZG d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZdS )� N)�Ldb)�
ndr_unpack)�security)�
SCOPE_SUBTREE�SCOPE_ONELEVEL�
SCOPE_BASE�ERR_NO_SUCH_OBJECT�LdbError)�Command�CommandError�Optionz^([^;]+);range=(\d+)-(\d+|\*)$c @ s� e Zd Zddddddddejejdfdd�Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� ZdS )�LDAPBaseF�section� �SUBTc C s� g }|}d|vrt j�|�rd| }nd| }|�� �d�r!dg}|| _|
| _t||||d�| _|
| _ || _
|| _|| _|| _
|| _| | _|| _|| _|| _t| j�� �| _t| j�� �| _t| j�� �| _t| j�� �| _| �� | _| �� | _t �!dd| j��"d d
�| _#| �$� | _%| �&� | jr�| js�| j�'d| j � | j�'dd
| j � | j�'dd| j � | j�'dd| j � | j�'dd| j# � d S d S d S )Nz://ztdb://%sz ldap://%szldap://zmodules:paged_searches)�url�credentials�lp�optionsz [Dd][Cc]=r �,�.z
* Place-holders for %s:
� z${DOMAIN_DN} => %s
z${DOMAIN_NETBIOS} => %s
z${SERVER_NAME} => %s
z${DOMAIN_NAME} => %s
)(�os�path�isfile�lower�
startswith�outf�errfr �ldb�search_base�search_scope�two_domains�quiet�
descriptor� sort_aces�view�verbose�host�skip_missing_dn�str�get_default_basedn�base_dn�get_root_basedn�root_dn�get_config_basedn� config_dn�get_schema_basedn� schema_dn�find_netbios�domain_netbios�find_servers�server_names�re�sub�replace�domain_name�find_domain_sid�
domain_sid�get_sid_map�write)�selfr( �credsr �twor# r$ r% r'