HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/root/usr/lib/python3/dist-packages/samba/netcmd/__pycache__/delegation.cpython-310.pyc
o

�/a�+�@s�ddlmZddlZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZmZmZmZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)�N)�	provision)�dsdb)�SamDB)�system_session)�_get_user_realm_domain)�Command�CommandError�SuperCommand�Optionc@sLeZdZdZdZejejejd�Z	e
dddeddd	�gZd
gZ
ddd
�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�accountnameNcCs<|��}|�|�}t�||�d��}|dur|j}	n|}	t|	t�||d�}
t|�\}}}
|
j	dt
�|�t
jddgd�}t
|�dkrHtd|��t
|�d	ksPJ�t|d�d�d�}|d�d�}|j�d
t|dj��|j�dt|tj@��|j�dt|tj@��|dur�|D]}|j�d
|�q�dSdS)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�samdbrrr�search�ldb�
binary_encode�
SCOPE_SUBTREE�lenr�int�outf�write�str�dn�boolr�UF_TRUSTED_FOR_DELEGATION�)UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION)�selfrrrr
rr�creds�paths�path�sam�cleanedaccountr�domain�res�uac�allowed�a�rF�9/usr/lib/python3/dist-packages/samba/netcmd/delegation.py�run6sB
������zcmd_delegation_show.run�NNNN��__name__�
__module__�__qualname__�__doc__�synopsis�options�SambaOptions�CredentialsOptions�VersionOptions�takes_optiongroupsr
r6�
takes_options�
takes_argsrHrFrFrFrGr$s�
��rc@�ReZdZdZdZejejejd�Z	e
dddeddd	�gZd
dgZ
		dd
d�ZdS)�cmd_delegation_for_any_servicez3Set/unset UF_TRUSTED_FOR_DELEGATION for an account.�(%prog <accountname> [(on|off)] [options]rrrrrrrr�onoffNc
Cs�d}|dkr	d}n
|dkrd}ntd|��|��}|�|�}	t�||�d��}
|dur0|
j}n|}t|t�|	|d�}t	|�\}
}}dt
�|
�}tj
}z
|j||d	|dd
�WdStyi}zt|��d}~ww)NF�onT�off�0invalid argument: '%s' (choose from 'on', 'off')rrr zTrusted-for-Delegation��	flags_strr[�strict)rr)r*rr+r,r-rrrr/r0rr9�toggle_userAccountFlags�	Exception�r;rrZrrr
rr[rr<r=r>r?r@rrA�
search_filter�flag�errrFrFrGrHns6
����z"cmd_delegation_for_any_service.runrIrJrFrFrFrGrX\��
���rXc@rW)�cmd_delegation_for_any_protocolzOSet/unset UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION (S4U2Proxy) for an account.rYrrrrrrrrrZNc
Cs�d}|dkr	d}n
|dkrd}ntd|��|��}|j|dd�}	t�||�d��}
|dur2|
j}n|}t|t�|	|d�}t	|�\}
}}d	t
�|
�}tj
}z
|j||d
|dd�WdStyk}zt|��d}~ww)NFr[Tr\r])�fallback_machinerrr z&Trusted-to-Authenticate-for-Delegationr^)rr)r*rr+r,r-rrrr/r0rr:rarbrcrFrFrGrH�s6����z#cmd_delegation_for_any_protocol.runrIrJrFrFrFrGrh�rgrhc@rW)�cmd_delegation_add_servicez4Add a service principal as msDS-AllowedToDelegateTo.�)%prog <accountname> <principal> [options]rrrrrrrr�	principalNc
C�|��}|�|�}t�||�d��}	|dur|	j}
n|}
t|
t�||d�}t|�\}}
}|j	dt
�|�t
jdgd�}t
|�dkrGtd|��t
|�dksOJ�t
��}|dj|_t
�|gt
jd�|d<z|�|�WdSty|}zt|��d}~ww�	Nrrr r"r#rr'r()r)r*rr+r,r-rrrr.r/r0r1r2r�Messager7�MessageElement�FLAG_MOD_ADD�modifyrb�r;rrlrrr
rrr<r=r>r?r@rrArB�msgrfrFrFrGrH��>
������zcmd_delegation_add_service.runrIrJrFrFrFrGrj�rgrjc@rW)�cmd_delegation_del_servicez7Delete a service principal as msDS-AllowedToDelegateTo.rkrrrrrrrrrlNc
Crmrn)r)r*rr+r,r-rrrr.r/r0r1r2rror7rp�FLAG_MOD_DELETErrrbrsrFrFrGrHruzcmd_delegation_del_service.runrIrJrFrFrFrGrv�rgrvc@sFeZdZdZiZe�ed<e�ed<e�ed<e�ed<e	�ed<dS)�cmd_delegationzDelegation management.�showzfor-any-servicezfor-any-protocolzadd-servicezdel-serviceN)
rKrLrMrN�subcommandsrrXrhrjrvrFrFrFrGrx2s



rx)�samba.getopt�getoptrPr/�sambarr�samba.samdbr�
samba.authr�samba.netcmd.commonr�samba.netcmdrrr	r
rrXrhrjrvrxrFrFrFrG�<module>s85566