
    -_g	                     t    d dl mZmZ d dlmZmZmZmZ  G d de      Z G d dee      Z	 G d deee      Z
y	)
    )joinnormpath)PluginRedHatPluginDebianPluginUbuntuPluginc                   2    e Zd ZdZdZdZdZeZd Zd Z	d Z
y)	NamedzBIND named servernamed)systemservicesnetwork/etc/named.confc           	      >   | j                  ddg       | j                  D ]{  }| j                  |      s| j                  || j                  |      g       | j	                  t        | j                  |      d      t        | j                  |      d      g       } y )Nz/etc/default/bindz/var/log/named*.logz
chroot/devzchroot/proc)add_copy_specconfig_filespath_existsget_dns_diradd_forbidden_pathr   )selfcfgs     :/usr/lib/python3/dist-packages/sos/report/plugins/named.pysetupzNamed.setup   s    !
 	 $$ 		C$""$$S)$  ''))#.=))#.>) 		    c                 H    | j                  d|      }|rt        |d         S y)z3 grab directory path from named{conf,boot}
        zdirectory\s+\"(.*)\"r    )do_regex_find_allr   )r   config_filedirectory_lists      r   r   zNamed.get_dns_dir&   s0     //0G0;=N1-..r   c                 F    d}d}| j                  | j                  ||       y )Nz(\s*arg \"password )[^\"]*z\1******)do_file_sub
named_conf)r   matchsubsts      r   postproczNamed.postproc0   s"    -%7r   N)__name__
__module____qualname__
short_descplugin_nameprofilesr"   r   r   r   r%    r   r   r
   r
      s*    $JK0H"JL 8r   r
   c                   2     e Zd ZdZdZedfZdZ fdZ xZS )RedHatNamedr   )r   z/etc/named.boot/etc/sysconfig/named)bindc                     t         |           | j                  d       | j                  d       | j                  d       | j	                  d       y )Nz/etc/named/r/   zklist -ket /etc/named.keytabz/etc/named.keytab)superr   r   add_cmd_outputr   r   	__class__s    r   r   zRedHatNamed.setup>   sG    =)12:; 34r   )	r&   r'   r(   r"   r   filespackagesr   __classcell__r5   s   @r   r.   r.   6   s)    "J'L/0EH5 5r   r.   c                   4     e Zd ZdZdZdZeddfZ fdZ xZS )DebianNamed)/etc/bind/named.conf)bind9r<   z/etc/bind/named.conf.optionsz/etc/bind/named.conf.localc                 D    t         |           | j                  d       y )Nz
/etc/bind/)r2   r   r   r4   s    r   r   zDebianNamed.setupO   s    <(r   )	r&   r'   r(   r6   r7   r"   r   r   r8   r9   s   @r   r;   r;   F   s,    %EH'J202L) )r   r;   N)os.pathr   r   sos.report.pluginsr   r   r   r   r
   r.   r;   r,   r   r   <module>rA      s;    # O O&8F &8R5% 5 )%| )r   