diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql index 8b137891791fe96927ad78e64b0aad7bded08bdc..f2011dcea078f4516f16f711e85a956ba685e573 100644 --- a/install/sql/incremental/upd_dev_collection.sql +++ b/install/sql/incremental/upd_dev_collection.sql @@ -1 +1,5 @@ - +-- permits same zone on different server #0003 +ALTER TABLE `dns_soa` + DROP KEY IF EXISTS `origin`, + ADD KEY `origin` (`origin`), + ADD UNIQUE KEY IF NOT EXISTS `unique_server_origin` (`server_id`,`origin`); diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 67f0f3bdcbcb82ca3fea33a4540f77ba82fb23c7..a0c67fd5bacffbe45ed8f2fe5b74f0c836d5b7b7 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -630,7 +630,8 @@ CREATE TABLE `dns_soa` ( `dnssec_last_signed` BIGINT NOT NULL DEFAULT '0', `dnssec_info` TEXT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `origin` (`origin`), + KEY `origin` (`origin`), + UNIQUE KEY `unique_server_origin` (`server_id`,`origin`), KEY `active` (`active`) ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; diff --git a/interface/web/dns/form/dns_soa.tform.php b/interface/web/dns/form/dns_soa.tform.php index fea4bd1f9806bd80efa1fcaa76c7404faa18680e..965cc6d635d21fe0b93f91b2dbe884ff98fa7829 100644 --- a/interface/web/dns/form/dns_soa.tform.php +++ b/interface/web/dns/form/dns_soa.tform.php @@ -117,9 +117,14 @@ $form["tabs"]['dns_soa'] = array ( ), 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY', 'errmsg'=> 'origin_error_empty'), - 1 => array ( 'type' => 'UNIQUE', - 'errmsg'=> 'origin_error_unique'), - 2 => array ( 'type' => 'REGEX', +/* + * If controlling more than one DNS Master, this will prevent you from migrating + * records from one set of master servers to another set of master servers in the + * same multi server group + */ +// 1 => array ( 'type' => 'UNIQUE', +// 'errmsg'=> 'origin_error_unique'), // ONLY UNIQUE per DNS MASTER + 1 => array ( 'type' => 'REGEX', 'regex' => '/^[a-zA-Z0-9\.\-\/]{2,255}\.[a-zA-Z0-9\-]{2,63}[\.]{0,1}$/', 'errmsg'=> 'origin_error_regex'), ),