One Hat Cyber Team
Your IP :
10.30.1.1
Server IP :
103.148.201.5
Server :
Linux web-olt 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
Server Software :
Apache/2.4.52 (Ubuntu)
PHP Version :
8.1.29
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
samba
/
__pycache__
/
Edit File:
domain_update.cpython-310.pyc
o �/a�; � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dlm Z d dl mZ d dlm Z d dlmZmZmZmZmZ d Zd Zddd ddddd�Zededed ed ediZededededediZg ZG dd� de�ZG dd� de�ZdS )� N)� b64encode)�sd_utils)� ndr_unpack�ndr_pack)�security)�SECINFO_DACL)�'get_managed_service_accounts_descriptor)�DS_DOMAIN_FUNCTION_2008�DS_DOMAIN_FUNCTION_2008_R2�DS_DOMAIN_FUNCTION_2012�DS_DOMAIN_FUNCTION_2012_R2�DS_DOMAIN_FUNCTION_2016�K �Q z$5e1574f6-55df-493e-a671-aaeffca6a100z$d262aae8-41f7-48ed-9f35-56bbb677573dz$82112ba0-7e4c-4a44-89d9-d46c9612bf91z$c3c927a6-cc1d-47c0-966b-be8f9b63d991z$54afcfb9-637a-4251-9f47-4d50e7021211z$f4728883-84dd-483c-9897-274f2ebcf11ez$ff4f9d27-7157-4cb0-80a9-5d6f2b14c8ff)r �L �M �N �O �P r �J r �X � � � � � c @ s e Zd ZdS )�DomainUpdateExceptionN)�__name__� __module__�__qualname__� r r �5/usr/lib/python3/dist-packages/samba/domain_update.pyr J s r c @ s� e Zd ZdZ d&dd�Z d'dd�Zd d � Zd(dd �Zdd� Zdd� Z dd� Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� ZdS ))�DomainUpdatez2Check and update a SAM database for domain updatesFTc C s� || _ || _|| _d| _| j �� | _| j �� | _| j �� | _t � |�| _ t�|� � �| _| j �� | _| j�d�s<td��| j �� | _| j�d�sLtd��dS )z� :param samdb: LDB database :param fix: Apply the update if the container is missing :param add_update_container: Add the container at the end of the change :raise DomainUpdateException: Fz(CN=Operations,CN=DomainUpdates,CN=Systemz+Failed to add domain update container childz3CN=ActiveDirectoryUpdate,CN=DomainUpdates,CN=Systemz#Failed to add revision object childN)�samdb�fix�add_update_container�check_update_applied�get_config_basedn� config_dn� domain_dn�get_schema_basedn� schema_dnr �SDUtilsr �dom_sid�get_domain_sid� domain_sid�get_root_basedn�domainupdate_container� add_childr �revision_object)�selfr# r$ r% r r r! �__init__Q s �zDomainUpdate.__init__Nc C s� | j j| jdgtjd�}t| }|rt| }|d7 }nt}| �||� t| }t |d d d �}|rQ||k rS| j sBtd||f ��| j �dt | j�|f � dS dS dS )a Apply all updates for a given old and new functional level :param functional_level: constant :param old_functional_level: constant :param update_revision: modify the stored version :raise DomainUpdateException: �revision)�base�attrs�scope� r zERevision is not high enough. Fix is set to False. Expected: %dGot: %dz9dn: %s changetype: modify replace: revision revision: %d N)r# �searchr3 �ldb� SCOPE_BASE�functional_level_to_max_update� MIN_UPDATE�check_updates_range�functional_level_to_version�intr$ r �modify_ldif�str) r4 �functional_level�old_functional_level�update_revision�res�expected_update� min_update�expected_version� found_versionr r r! �check_updates_functional_leveln s, � �� ��z+DomainUpdate.check_updates_functional_levelc C s8 |D ]}|t k s|tkrtd��t| d| �|� qdS )z� Apply a list of updates which must be within the valid range of updates :param iterator: Iterable specifying integer update numbers to apply :raise DomainUpdateException: �Update number invalid.�operation_%dN)r? � MAX_UPDATEr �getattr)r4 �iterator�opr r r! �check_updates_iterator� s �z#DomainUpdate.check_updates_iteratorr c C s^ |}|t k s||ks|tkrtd��||kr-|tvr#t| d| �|� |d7 }||ksdS dS )z� Apply a range of updates which must be within the valid range of updates :param start: integer update to begin :param end: integer update to end (inclusive) :raise DomainUpdateException: rN rO r: N)r? rP r �missing_updatesrQ )r4 �start�endrS r r r! r@ � s �z DomainUpdate.check_updates_rangec C sB z| j j| jdt| d�}W n tjy Y dS w t|�dkS )zd :param op: Integer update number :return: True if update exists else False z(CN=%s))r7 � expressionFr: )r# r; r1 � update_mapr<