File: //proc/1233/root/usr/lib/python3/dist-packages/samba/netcmd/__pycache__/delegation.cpython-310.pyc
o
�/a�+ � @ s� d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZmZmZmZ G dd � d e�ZG d
d� de�ZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )� N)� provision)�dsdb)�SamDB)�system_session)�_get_user_realm_domain)�Command�CommandError�SuperCommand�Optionc @ sL e Zd ZdZdZejejejd�Z e
dddeddd �gZd
gZ
ddd
�ZdS )�cmd_delegation_showz*Show the delegation setting of an account.z%prog <accountname> [options]�� sambaopts�credopts�versionopts�-H�--URL�%LDB URL for database or target server�URL�H��help�type�metavar�dest�accountnameNc C s< |� � }|�|�}t�||�d��}|d u r|j} n|} t| t� ||d�}
t|�\}}}
|
j dt
�|� t
jddgd�}t
|�dkrHtd| ��t
|�d ksPJ �t|d �d�d �}|d �d�}| j�d
t|d j� � | j�dt|tj@ � � | j�dt|tj@ � � |d ur�|D ]}| j�d
| � q�d S d S )N�realm��session_info�credentials�lp�sAMAccountName=%s�userAccountControl�msDS-AllowedToDelegateTo��
expression�scope�attrsr � Unable to find account name '%s'� zAccount-DN: %s
zUF_TRUSTED_FOR_DELEGATION: %s
z.UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: %s
zmsDS-AllowedToDelegateTo: %s
)�get_loadparm�get_credentialsr �provision_paths_from_lp�get�samdbr r r �search�ldb�
binary_encode�
SCOPE_SUBTREE�lenr �int�outf�write�str�dn�boolr �UF_TRUSTED_FOR_DELEGATION�)UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION)�selfr r r r
r r �creds�paths�path�sam�cleanedaccountr �domain�res�uac�allowed�a� rF �9/usr/lib/python3/dist-packages/samba/netcmd/delegation.py�run6 sB
������zcmd_delegation_show.run�NNNN��__name__�
__module__�__qualname__�__doc__�synopsis�options�SambaOptions�CredentialsOptions�VersionOptions�takes_optiongroupsr
r6 �
takes_options�
takes_argsrH rF rF rF rG r $ s �
��r c @ �R e Zd ZdZdZejejejd�Z e
dddeddd �gZd
dgZ
dd
d�ZdS )�cmd_delegation_for_any_servicez3Set/unset UF_TRUSTED_FOR_DELEGATION for an account.�(%prog <accountname> [(on|off)] [options]r r r r r r r r �onoffNc
C s� d}|dkr d}n
|dkrd}nt d| ��|�� }|�|�} t�||�d��}
|d u r0|
j}n|}t|t� | |d�}t |�\}
}}dt
�|
� }tj
}z
|j||d |dd
� W d S tyi } zt |��d }~ww )NF�onT�off�0invalid argument: '%s' (choose from 'on', 'off')r r r zTrusted-for-Delegation�� flags_strr[ �strict)r r) r* r r+ r, r- r r r r/ r0 r r9 �toggle_userAccountFlags� Exception�r; r rZ r r r
r r[ r r<