MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/crypto-policies/python/policygenerators/__pycache__/bind.cpython-312.pyc
�

��i�
��J�ddlZddlmZmZddlmZddlmZGd�de�Zy)�N)�CalledProcessError�check_output)�mkstemp�)�ConfigGeneratorc
�Z�eZdZdZdZddddddd	d
dd�	Zd
dddd�Zed��Zed��Z	y)�
BindGenerator�bindz>systemctl try-reload-or-restart bind.service 2>/dev/null || :
)�DSA�NSEC3DSA)�RSASHA1�NSEC3RSASHA1)�	RSASHA256)�	RSASHA512)�ECCGOST)�ECDSAP256SHA256)�ECDSAP384SHA384)�ED25519)�ED448)	zDSA-SHA1zRSA-SHA1zRSA-SHA2-256zRSA-SHA2-512�GOSTR341001�ECDSA-SHA2-256�ECDSA-SHA2-384z
EDDSA-ED25519zEDDSA-ED448zSHA-1zSHA-256zSHA-384�GOST)�SHA1zSHA2-256zSHA2-384�GOSTR94c��|jddh�}|j}d}|dz
}|dz
}|dD]}	|j|D]
}||�d�z
}��!d|dvrd	|d
vr|dz
}d|dvrd
|d
vr|dz
}|dz
}|dz
}|dD]}	||j|�d�z
}�|dz
}|S#t$rY��wxYw#t$rY�<wxYw)N�dnssecr
�zdisable-algorithms "." {
zRSAMD5;
�signz;
r�	SECP256R1�groupzECDSAP256SHA256;
r�	SECP384R1zECDSAP384SHA384;
z};
zdisable-ds-digests "." {
�hash)�scoped�disabled�sign_not_map�KeyError�hash_not_map)�cls�unscoped_policy�policy�ip�s�i�
disabled_signs       �:/usr/share/crypto-policies/python/policygenerators/bind.py�generate_configzBindGenerator.generate_config&s4�� �'�'��6�(:�;��
�_�_����	�
)�)��	�[����F��A�
�%(�%5�%5�a�%8�M��M�?�#�.�.�A�&9���2�f�:�-�+��G��2L�
�%�%�A��2�f�:�-�+��G��2L�
�%�%�A�	�V���	�
)�)���F��A�
���(�(��+�,�C�0�0���
	
�V������!�
��
���
��
�s#�B*�B9�*	B6�5B6�9	C�Cc��t�\}}	tj|d�5}|jd�|j|�|jd�ddd�	t	d|g�}tj|�y#1swY�-xYw#t
$r=|j
d�|j
d|���Ytj|�yt$rY�qwxYw#tj|�wxYw)	N�wz
options {
z
};
z/usr/sbin/named-checkconfz*There is an error in bind generated policyzPolicy:
FT)	r�os�fdopen�writerr�eprint�unlink�OSError)r)�config�fd�path�f�_s      r0�test_configzBindGenerator.test_configDs����9���D�	����2�s�#�q����
�&����������!�$�
� �"=�t�!D�E��
�I�I�d�O��!$�#��&�
��
�
�G�H��
�
�Y�v�h�/�0��

�I�I�d�O�	�
��
��
�I�I�d�O�sL�C$�4B�C$�"
B�B�
C$�.C!�?C$�C!�C$� C!�!C$�$C;N)
�__name__�
__module__�__qualname__�CONFIG_NAME�
RELOAD_CMDr&r(�classmethodr1r?��r0r	r	
so���K��J�(�/�&�&�#�.�.�%�!�
�L�����	�L�����:���rGr	)	r4�
subprocessrr�tempfiler�configgeneratorrr	rFrGr0�<module>rKs!��
�7��,�L�O�LrG