3 Ü““iÿ ã@sbddlmZmZddlmZmZmZmZGdd„deƒZGdd„deeƒZ Gdd„deeeƒZ d S) é)ÚjoinÚnormpath)ÚPluginÚ RedHatPluginÚ DebianPluginÚ UbuntuPluginc@s8eZdZdZdZdZdZeZdd„Zd d „Z d d „Z d S)ÚNamedzBIND named serverZnamedÚsystemÚservicesÚnetworkz/etc/named.confcCsf|jddgƒxR|jD]H}|j|ƒr|j||j|ƒgƒ|jt|j|ƒdƒt|j|ƒdƒgƒqWdS)Nz/etc/default/bindz/var/log/named*.logz chroot/devz chroot/proc)Ú add_copy_specÚ config_filesZ path_existsÚ get_dns_dirÚadd_forbidden_pathr)ÚselfZcfg©rú/usr/lib/python3.6/named.pyÚsetups  z Named.setupcCs |jd|ƒ}|rt|dƒSdS)z3 grab directory path from named{conf,boot} zdirectory\s+\"(.*)\"rÚ)Zdo_regex_find_allr)rZ config_fileZdirectory_listrrrr&s  zNamed.get_dns_dircCsd}d}|j|j||ƒdS)Nz(\s*arg \"password )[^\"]*z\1******)Z do_file_subÚ named_conf)rÚmatchZsubstrrrÚpostproc0szNamed.postprocN)r r r ) Ú__name__Ú __module__Ú __qualname__Z short_descZ plugin_nameZprofilesrr rrrrrrrr s rcs0eZdZdZdZedfZdZ‡fdd„Z‡ZS) Ú RedHatNamedú/etc/named.confú/etc/named.bootz/etc/sysconfig/namedÚbindcs6tƒjƒ|jdƒ|jdƒ|jdƒ|jdƒdS)Nz /etc/named/z/etc/sysconfig/namedzklist -ket /etc/named.keytabz/etc/named.keytab)Úsuperrr Zadd_cmd_outputr)r)Ú __class__rrr>s     zRedHatNamed.setup)rr)r) rrrrr ÚfilesÚpackagesrÚ __classcell__rr)r rr6s rcs2eZdZdZdZdZeddfZ‡fdd„Z‡ZS) Ú DebianNamedú/etc/bind/named.confÚbind9z/etc/bind/named.conf.optionsz/etc/bind/named.conf.localcstƒjƒ|jdƒdS)Nz /etc/bind/)rrr )r)r rrrOs zDebianNamed.setup)r%)r&) rrrr!r"rr rr#rr)r rr$Fsr$N) Zos.pathrrZsos.report.pluginsrrrrrrr$rrrrÚ s)