diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index c9949c27937969805bb16bd4eced67c57e7b6843..8c2efefa1b876fd7dee3811b9b301ac89eca78b1 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -142,6 +142,8 @@ bind_user=root bind_group=bind bind_zonefiles_dir=/etc/bind bind_keyfiles_dir=/etc/bind +bind_zonefiles_masterprefix=pri. +bind_zonefiles_slaveprefix=slave/sec. named_conf_path=/etc/bind/named.conf named_conf_local_path=/etc/bind/named.conf.local disable_bind_log=n diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 679ebb2b7fae5ddcff4706d56bd391b3142f7bb3..7af535e60042681dd5e952e4953575460968d510 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -1666,6 +1666,30 @@ $form["tabs"]['dns'] = array( 'width' => '40', 'maxlength' => '255' ), + 'bind_zonefiles_masterprefix' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/', + 'errmsg'=> 'bind_zonefiles_masterprefix_error_regex'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), + 'bind_zonefiles_slaveprefix' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'default' => '', + 'validators' => array( 0 => array ( 'type' => 'REGEX', + 'regex' => '/^[a-zA-Z0-9\.\-\_\/]{0,128}$/', + 'errmsg'=> 'bind_zonefiles_slaveprefix_error_regex'), + ), + 'value' => '', + 'width' => '40', + 'maxlength' => '255' + ), 'named_conf_path' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng index a58dbaaf442c274b590cbd7727519b9b22977c44..7a275d98f1dec08021aff73f6c1750f1e8003cbe 100644 --- a/interface/web/admin/lib/lang/ar_server_config.lng +++ b/interface/web/admin/lib/lang/ar_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng index c856e7640f22a2ff2403c35f690ad969c44ffbf5..1fd8c9d3aa6d5a135ba3b7c70ec27e1c9c4e12a6 100644 --- a/interface/web/admin/lib/lang/bg_server_config.lng +++ b/interface/web/admin/lib/lang/bg_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng index 1041676ceb8e7768b22f4fad64451671ba6596fd..b86729d0b20956fd336c01d633acafbe8ac55db3 100644 --- a/interface/web/admin/lib/lang/br_server_config.lng +++ b/interface/web/admin/lib/lang/br_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Usar links físicos é inseguro, mas eco $wb['jailkit_hardlinks_allow_txt'] = 'Permitir links físicos enjaulados'; $wb['jailkit_hardlinks_no_txt'] = 'Não, remover arquivos de links físicos'; $wb['jailkit_hardlinks_yes_txt'] = 'Sim, usar links físicos quando possível'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/ca_server_config.lng b/interface/web/admin/lib/lang/ca_server_config.lng index 3d4ad3a70ccccede67f36108b25e4b92961fef71..d9e9877805d759b92c4eb00ebfbe7a85d78b37dd 100644 --- a/interface/web/admin/lib/lang/ca_server_config.lng +++ b/interface/web/admin/lib/lang/ca_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index bdc1152cbc8fb47580f456932221a30c8567cc04..ec90cffe8b5408f9427a0e0d6c0333768c6b2734 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'Ne, odstranit soubory s pevným odkazem'; $wb['jailkit_hardlinks_yes_txt'] = 'Ano, pokud je to možné, použijte pevné odkazy'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 42046a2e44eb896e3c01989c7e3cba7b9ccec51a..f6a89c702be68b2217235f48b0599aea75bedc5f 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -344,3 +344,10 @@ $wb['jailkit_hardlinks_no_txt'] = 'Nein, entferne hardgelinkte Dateien'; $wb['jailkit_hardlinks_yes_txt'] = 'Ja, benutze hardlinks wenn möglich'; $wb['mailbox_soft_delete_txt'] = 'Postfach Soft-Löschung'; $wb['mailbox_soft_delete_info_txt'] = 'wird standardmäßig nach 7 Tagen gelöscht.'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; diff --git a/interface/web/admin/lib/lang/dk_server_config.lng b/interface/web/admin/lib/lang/dk_server_config.lng index d7b081150d835177796a524cf2c7c4731a1edd3d..7a26e89479925ae6145bd204d73761510a6ee0f0 100644 --- a/interface/web/admin/lib/lang/dk_server_config.lng +++ b/interface/web/admin/lib/lang/dk_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index 40af42057f56a1edac7f89be55462fdbd0ef073d..1545cff229577e07cb1b653f468f55b35342b968 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 363f528fba2d713e819e112578797a15b7c1b782..1ee224a44a48eaf94338978cfc975f1c0f0170be 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -91,6 +91,8 @@ $wb['apps_vhost_servername_txt'] = 'Apps-vhost Domain'; $wb['bind_user_txt'] = 'BIND User'; $wb['bind_group_txt'] = 'BIND Group'; $wb['bind_zonefiles_dir_txt'] = 'BIND zonefiles directory'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; $wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; $wb['named_conf_path_txt'] = 'BIND named.conf path'; $wb['bind_user_error_empty'] = 'BIND user is empty.'; @@ -283,6 +285,8 @@ $wb['awstats_buildstaticpages_pl_error_regex'] = 'Invalid awstats_buildstaticpag $wb['invalid_bind_user_txt'] = 'Invalid BIND user.'; $wb['invalid_bind_group_txt'] = 'Invalid BIND group.'; $wb['bind_zonefiles_dir_error_regex'] = 'Invalid BIND zonefiles directory.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; $wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['named_conf_path_error_regex'] = 'Invalid named.conf path.'; $wb['named_conf_local_path_error_regex'] = 'Invalid named.conf.local path.'; diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index 528dfe36afd0f2e36cf87a1894fcf4e243232956..a4e61d142d4575b048286ceb780950b28ed3f670 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng index 906013f7858a1cc25e9c4cdbd0dbd3c7dbb089ac..8728d603821e3f434bc4c6c0488df1ae2091ccb9 100644 --- a/interface/web/admin/lib/lang/fi_server_config.lng +++ b/interface/web/admin/lib/lang/fi_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng index 274c2b6804d2e4614db220eb40daeeaa33386c7f..73835ed9296d85436c377f2f817d58c9284cc525 100644 --- a/interface/web/admin/lib/lang/fr_server_config.lng +++ b/interface/web/admin/lib/lang/fr_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng index 5d35d0d33f0f54f2d3db52e00a4d392d84adb9b0..a41ec6f6fb7c4e462a89f69a78892677d648e100 100644 --- a/interface/web/admin/lib/lang/hr_server_config.lng +++ b/interface/web/admin/lib/lang/hr_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng index 74a5b15701a1cfe7e62aceae242b43380a60d3ce..a065e10c9f3cf0ccf7eb9d44a85e70c5efbf87d2 100644 --- a/interface/web/admin/lib/lang/hu_server_config.lng +++ b/interface/web/admin/lib/lang/hu_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng index 2419ee63f11e5c0de004df8184588a8640b1b4b4..b25092619cd21a786b9383feb34b99ac71e3f908 100644 --- a/interface/web/admin/lib/lang/id_server_config.lng +++ b/interface/web/admin/lib/lang/id_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng index 4d01d70b22a266f1f3be3472b759a01f2318597a..3d8df831e8ffab5c6e8c39eb9ec662df4cb99142 100644 --- a/interface/web/admin/lib/lang/it_server_config.lng +++ b/interface/web/admin/lib/lang/it_server_config.lng @@ -341,5 +341,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'L\'uso di hardlinks è meno sicuro però $wb['jailkit_hardlinks_allow_txt'] = 'Consenti hardlinks all\'interno di jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, rimuovi i file con hardlink'; $wb['jailkit_hardlinks_yes_txt'] = 'Si, usa hardlinks se possibile'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng index 66d505562bf7ce665e7fcdd99a25778b2bf2a1f3..befd2b591103f989e6cd747edea1b1f902ce44a4 100644 --- a/interface/web/admin/lib/lang/ja_server_config.lng +++ b/interface/web/admin/lib/lang/ja_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng index 8ea60a21a8149f93d439e81e914ac1d55a5b56cb..2af5d6a9eac8ad0674ad4efe96aed222d6d12f44 100644 --- a/interface/web/admin/lib/lang/nl_server_config.lng +++ b/interface/web/admin/lib/lang/nl_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng index c186f5d2a60f4651593689a5743ade0a44aabe45..1f2ed1b6eaa8baac958f50628eef46d1ac814bf9 100644 --- a/interface/web/admin/lib/lang/pl_server_config.lng +++ b/interface/web/admin/lib/lang/pl_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng index 2e398500dbc950c85d9809fb52d88d84edacdce8..96a6046dbad5d8908ab2907dbb9ecf66917b5251 100644 --- a/interface/web/admin/lib/lang/pt_server_config.lng +++ b/interface/web/admin/lib/lang/pt_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng index 2756ae7acda0737e5cd50482bfdef5884611fdca..05dfa0216af6bb5cc20713ff7d1e72d205b274d7 100644 --- a/interface/web/admin/lib/lang/ro_server_config.lng +++ b/interface/web/admin/lib/lang/ro_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng index 2fbf9cf7d6e416f68ca60d6759ac47f94c242a3a..5463f4497b7998249daebe335bb1342c89cdfd87 100644 --- a/interface/web/admin/lib/lang/ru_server_config.lng +++ b/interface/web/admin/lib/lang/ru_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng index e21017769cbec9fca8e56a5db4e53da3f50cb0ff..58d3cbce26d2f86f64b4963b078fbb238c171111 100644 --- a/interface/web/admin/lib/lang/se_server_config.lng +++ b/interface/web/admin/lib/lang/se_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng index 9ec5367be5a296f294d8b227c5ec503519fdcb67..b6236c2f1c1c911c33316a714edd61046d3b3a6c 100644 --- a/interface/web/admin/lib/lang/sk_server_config.lng +++ b/interface/web/admin/lib/lang/sk_server_config.lng @@ -342,5 +342,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng index 29ccbe6129a1ed1d5bf8af6bb942a4c87031865e..d75cceedcf2aca7d3c7161d64fe00cb97e33f371 100644 --- a/interface/web/admin/lib/lang/tr_server_config.lng +++ b/interface/web/admin/lib/lang/tr_server_config.lng @@ -339,5 +339,12 @@ $wb['tooltip_jailkit_hardlinks_txt'] = 'Using hardlinks is insecure, but saves d $wb['jailkit_hardlinks_allow_txt'] = 'Allow hardlinks within the jail'; $wb['jailkit_hardlinks_no_txt'] = 'No, remove hardlinked files'; $wb['jailkit_hardlinks_yes_txt'] = 'Yes, use hardlinks if possible'; +$wb['bind_zonefiles_masterprefix_txt'] = 'BIND master zonefiles prefix'; +$wb['bind_zonefiles_slaveprefix_txt'] = 'BIND slave zonefiles prefix'; +$wb['bind_keyfiles_dir_txt'] = 'BIND keyfiles directory'; +$wb['bind_keyfiles_dir_error_empty'] = 'BIND keyfiles directory is empty.'; +$wb['bind_zonefiles_masterprefix_error_regex'] = 'Invalid BIND zonefiles master prefix.'; +$wb['bind_zonefiles_slaveprefix_error_regex'] = 'Invalid BIND zonefiles slave prefix.'; +$wb['bind_keyfiles_dir_error_regex'] = 'Invalid BIND keyfiles directory.'; $wb['mailbox_soft_delete_txt'] = 'Mailbox soft delete'; $wb['mailbox_soft_delete_info_txt'] = 'by default cleaned up after 7 days.'; diff --git a/interface/web/admin/templates/server_config_dns_edit.htm b/interface/web/admin/templates/server_config_dns_edit.htm index dcc7328e2c10cb4241ac8ff55a046ffbf3c3a6c2..9a157ce4a7928cc679beaecef4483394622403a4 100644 --- a/interface/web/admin/templates/server_config_dns_edit.htm +++ b/interface/web/admin/templates/server_config_dns_edit.htm @@ -14,6 +14,12 @@
+
+ +
+
+ +
diff --git a/server/plugins-available/bind_plugin.inc.php b/server/plugins-available/bind_plugin.inc.php index 15fe0626481faaf170b8f8f6c9e5bc41315a3f0b..2a5ccca269472bdce970bfda505ef7e3bcfcadee 100644 --- a/server/plugins-available/bind_plugin.inc.php +++ b/server/plugins-available/bind_plugin.inc.php @@ -87,7 +87,7 @@ class bind_plugin { $dns_config = $app->getconf->get_server_config($conf["server_id"], 'dns'); $domain = substr($data['new']['origin'], 0, strlen($data['new']['origin'])-1); - if (!file_exists($dns_config['bind_zonefiles_dir'].'/'.$this->zone_file_prefix().$domain)) return false; + if (!file_exists($dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix'].$domain)) return false; //* Check Entropy if (file_get_contents('/proc/sys/kernel/random/entropy_avail') < 200) { @@ -136,7 +136,7 @@ class bind_plugin { //* load the server configuration options $dns_config = $app->getconf->get_server_config($conf["server_id"], 'dns'); - $filespre = $this->zone_file_prefix(); + $filespre = $dns_config['bind_zonefiles_masterprefix']; $domain = substr($data['new']['origin'], 0, strlen($data['new']['origin'])-1); if (!file_exists($dns_config['bind_zonefiles_dir'].'/'.$filespre.$domain)) return false; @@ -171,7 +171,7 @@ class bind_plugin { file_put_contents($dns_config['bind_zonefiles_dir'].'/'.$filespre.$domain, $zonefile); //* Sign the zone and set it valid for max. 16 days - $app->system->exec_safe('cd ?; dnssec-signzone -A -e +1382400 -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N increment -o ? -K ? -t ?', $dns_config['bind_zonefiles_dir'], $domain, $dns_config['bind_keyfiles_dir'], $dns_config['bind_zonefiles_dir'].'/'.$filespre.$domain); + $app->system->exec_safe('cd ?; dnssec-signzone -A -e +1382400 -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N increment -o ? -K ? -t ?', $dns_config['bind_keyfiles_dir'], $domain, $dns_config['bind_keyfiles_dir'], $dns_config['bind_zonefiles_dir'].'/'.$filespre.$domain); //* Write Data back ino DB $dnssecdata = "DS-Records:\n".file_get_contents($dns_config['bind_keyfiles_dir'].'/dsset-'.$domain.'.'); @@ -202,7 +202,7 @@ class bind_plugin { //* load the server configuration options $dns_config = $app->getconf->get_server_config($conf["server_id"], 'dns'); - $filespre = $this->zone_file_prefix(); + $filespre = $dns_config['bind_zonefiles_masterprefix']; $domain = substr($data['new']['origin'], 0, strlen($data['new']['origin'])-1); if (!file_exists($dns_config['bind_zonefiles_dir'].'/'.$filespre.$domain)) return false; @@ -241,7 +241,7 @@ class bind_plugin { foreach($key_files as $file) { unlink($file); } - unlink($dns_config['bind_zonefiles_dir'].'/'.$this->zone_file_prefix().$domain.'.signed'); + unlink($dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix'].$domain.'.signed'); unlink($dns_config['bind_keyfiles_dir'].'/dsset-'.$domain.'.'); if ($app->dbmaster !== $app->db) $app->dbmaster->query('UPDATE dns_soa SET dnssec_info=\'\', dnssec_initialized=\'N\' WHERE id=?', intval($data['new']['id'])); @@ -329,7 +329,7 @@ class bind_plugin { } $tpl->setLoop('zones', $records); - $filename = $dns_config['bind_zonefiles_dir'].'/' . $this->zone_file_prefix() . str_replace("/", "_", substr($zone['origin'], 0, -1)); + $filename = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_masterprefix'] . str_replace("/", "_", substr($zone['origin'], 0, -1)); $old_zonefile = @file_get_contents($filename); $rendered_zone = $tpl->grab(); @@ -380,7 +380,7 @@ class bind_plugin { } elseif ($data['new']['dnssec_wanted'] == 'Y' && $data['old']['dnssec_initialized'] == 'N') { $this->soa_dnssec_create($data); } elseif ($data['new']['dnssec_wanted'] == 'N' && $data['old']['dnssec_initialized'] == 'Y') { //delete old signed file if dnssec is no longer wanted - $filename = $dns_config['bind_zonefiles_dir'].'/' . $this->zone_file_prefix() . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); + $filename = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_masterprefix'] . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); if(is_file($filename.'.signed')) unlink($filename.'.signed'); } elseif ($data['new']['dnssec_wanted'] == 'Y') { $this->soa_dnssec_update($data); @@ -394,7 +394,7 @@ class bind_plugin { //* Delete old domain file, if domain name has been changed if(!empty($data['old']['origin']) && $data['old']['origin'] != $data['new']['origin']) { - $filename = $dns_config['bind_zonefiles_dir'].'/' . $this->zone_file_prefix() . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); + $filename = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_masterprefix'] . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); if(is_file($filename)) unlink($filename); if(is_file($filename.'.err')) unlink($filename.'.err'); @@ -421,7 +421,7 @@ class bind_plugin { $this->write_named_conf($data, $dns_config); //* Delete the domain file - $zone_file_name = $dns_config['bind_zonefiles_dir'].'/' . $this->zone_file_prefix() . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); + $zone_file_name = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_masterprefix'] . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); if(is_file($zone_file_name)) unlink($zone_file_name); if(is_file($zone_file_name.'.err')) unlink($zone_file_name.'.err'); $app->log("Deleting BIND domain file: ".$zone_file_name, LOGLEVEL_DEBUG); @@ -455,7 +455,7 @@ class bind_plugin { //* Delete old domain file, if domain name has been changed if($data['old']['origin'] != $data['new']['origin']) { - $filename = $dns_config['bind_zonefiles_dir'].'/' . $this->zone_file_prefix() . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); + $filename = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_masterprefix'] . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); if(is_file($filename)) unset($filename); } @@ -482,7 +482,7 @@ class bind_plugin { $this->write_named_conf($data, $dns_config); //* Delete the domain file - $zone_file_name = $dns_config['bind_zonefiles_dir'].'/' . $this->slave_zone_file_prefix() . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); + $zone_file_name = $dns_config['bind_zonefiles_dir'].'/' . $dns_config['bind_zonefiles_slaveprefix'] . str_replace("/", "_", substr($data['old']['origin'], 0, -1)); if(is_file($zone_file_name)) unlink($zone_file_name); $app->log("Deleting BIND domain file for secondary zone: ".$zone_file_name, LOGLEVEL_DEBUG); @@ -539,8 +539,8 @@ class bind_plugin { //* Check if the current zone that triggered this function has at least one NS record - $pri_zonefiles_path = $dns_config['bind_zonefiles_dir'].'/'.$this->zone_file_prefix(); - $sec_zonefiles_path = $dns_config['bind_zonefiles_dir'].'/'.$this->slave_zone_file_prefix(); + $pri_zonefiles_path = $dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_masterprefix']; + $sec_zonefiles_path = $dns_config['bind_zonefiles_dir'].'/'.$dns_config['bind_zonefiles_slaveprefix']; //* Loop trough zones foreach($tmps as $tmp) { @@ -603,20 +603,6 @@ class bind_plugin { unset($tmps); } - - - function zone_file_prefix() { - //TODO : change this when distribution information has been integrated into server record - return (file_exists('/etc/gentoo-release')) ? 'pri/' : 'pri.'; - } - function slave_zone_file_prefix() { - //TODO : change this when distribution information has been integrated into server record - return (file_exists('/etc/gentoo-release')) ? 'sec/' : 'slave/sec.'; - } - - - - } // end class ?>