
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
."d                 @   sD   d dl mZmZ d dlmZ d dlZddlmZ G dd deZdS )    )check_outputCalledProcessError)mkstempN   )ConfigGeneratorc            	   @   sX   e Zd ZdZddhZdZdddddddd dZdddddZedd Z	edd Z
dS )!BindGeneratorZbindZdnssecz>systemctl try-reload-or-restart bind.service 2>/dev/null || :
DSANSEC3DSARSASHA1NSEC3RSASHA1	RSASHA256	RSASHA512ECDSAP256SHA256ECDSAP384SHA384ED25519ED448)zDSA-SHA1zRSA-SHA1zRSA-SHA2-256zRSA-SHA2-512zECDSA-SHA2-256zECDSA-SHA2-384zEDDSA-ED25519zEDDSA-ED448zSHA-1zSHA-256zSHA-384GOST)ZSHA1zSHA2-256zSHA2-384r   c             C   s  |j }d}|d7 }|d7 }|d7 }xL|d D ]@}y&x | j| D ]}|| d7 }q>W W q, tk
rj   Y q,X q,W d|d krd|d	 kr|d
7 }d|d krd|d	 kr|d7 }|d7 }|d7 }x>|d D ]2}y|| j|  d7 }W q tk
r   Y qX qW |d7 }|S )N zdisable-algorithms "." {
zRSAMD5;
z	ECCGOST;
Zsignz;
zECDSA-SHA256Z	SECP256R1groupzECDSAP256SHA256;
zECDSA-SHA384Z	SECP384R1zECDSAP384SHA384;
z};
zdisable-ds-digests "." {
hash)Zdisabledsign_not_mapKeyErrorhash_not_map)clsZpolicyZipsiZdisabled_sign r   ;./usr/share/crypto-policies/python/policygenerators/bind.pygenerate_config%   s0    

zBindGenerator.generate_configc             C   s   t  \}}ztj|d$}|jd |j| |jd W d Q R X ytd|g}W n> tk
r~   | jd | jd|  dS  tk
r   Y nX W d tj| X dS )	Nwz
options {
z
};
z/usr/sbin/named-checkconfz*There is an error in bind generated policyz
Policy:
%sFT)	r   osfdopenwriter   r   ZeprintOSErrorunlink)r   configfdpathf_r   r   r   test_configC   s     




zBindGenerator.test_configN)r   r	   )r
   r   )r   )r   )r   )r   )r   )r   )__name__
__module____qualname__ZCONFIG_NAMEZSCOPESZ
RELOAD_CMDr   r   classmethodr   r*   r   r   r   r   r      s"   r   )	
subprocessr   r   Ztempfiler   r    Zconfiggeneratorr   r   r   r   r   r   <module>   s   