name : bind.cpython-39.pyc
a

�
�g�
�@sDddlZddlmZmZddlmZddlmZGdd�de�ZdS)�N)�CalledProcessError�check_output)�mkstemp�)�ConfigGeneratorc
@sZeZdZdZddhZdZdddddd	d
ddd
�	Zddddd�Zedd��Z	edd��Z
dS)�
BindGeneratorZbindZdnssecz>systemctl try-reload-or-restart bind.service 2>/dev/null || :
)ZDSAZNSEC3DSA)ZRSASHA1ZNSEC3RSASHA1)Z	RSASHA256)Z	RSASHA512)ZECCGOST)ZECDSAP256SHA256)ZECDSAP384SHA384)ZED25519)ZED448)	zDSA-SHA1zRSA-SHA1zRSA-SHA2-256zRSA-SHA2-512ZGOSTR341001�ECDSA-SHA2-256�ECDSA-SHA2-384z
EDDSA-ED25519zEDDSA-ED448zSHA-1zSHA-256zSHA-384ZGOST)ZSHA1zSHA2-256zSHA2-384ZGOSTR94c	Cs�|j}d}|d7}|d7}|dD]:}z"|j|D]}||�d�7}q2Wq"tyZYq"0q"d|dvr~d|dvr~|d	7}d
|dvr�d|dvr�|d7}|d
7}|d7}|dD]0}z||j|�d�7}Wq�ty�Yq�0q�|d
7}|S)N�zdisable-algorithms "." {
zRSAMD5;
�signz;
rZ	SECP256R1�groupzECDSAP256SHA256;
r	Z	SECP384R1zECDSAP384SHA384;
z};
zdisable-ds-digests "." {
�hash)Zdisabled�sign_not_map�KeyError�hash_not_map)�clsZpolicy�ip�s�iZ
disabled_sign�r�:/usr/share/crypto-policies/python/policygenerators/bind.py�generate_config's.zBindGenerator.generate_configc	Cs�t�\}}z�t�|d��.}|�d�|�|�|�d�Wd�n1sL0Yztd|g�}WnJty�|�d�|�d|���YWt�|�dSty�Yn0Wt�|�nt�|�0dS)	N�wz
options {
z
};
z/usr/sbin/named-checkconfz*There is an error in bind generated policyzPolicy:
FT)	r�os�fdopen�writerrZeprint�unlink�OSError)rZconfig�fd�path�f�_rrr�test_configDs$


(

�zBindGenerator.test_configN)�__name__�
__module__�__qualname__ZCONFIG_NAMEZSCOPESZ
RELOAD_CMDrr�classmethodrr"rrrrr
s,�
�
r)	r�
subprocessrrZtempfilerZconfiggeneratorrrrrrr�<module>s

© 2025 Cubjrnet7