diff --git a/dns/bind/Makefile b/dns/bind/Makefile index 03621be6e42..269b88c4c8b 100644 --- a/dns/bind/Makefile +++ b/dns/bind/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= bind -PLUGIN_VERSION= 1.33 +PLUGIN_VERSION= 1.34 PLUGIN_COMMENT= BIND domain name service PLUGIN_DEPENDS= bind920 PLUGIN_MAINTAINER= m.muenz@gmail.com diff --git a/dns/bind/pkg-descr b/dns/bind/pkg-descr index 3457965b847..57dd3b0f289 100644 --- a/dns/bind/pkg-descr +++ b/dns/bind/pkg-descr @@ -8,6 +8,10 @@ WWW: https://www.isc.org Plugin Changelog ================ +1.34 + +* Added page for management of keys for rndc control and transfer usage (contributed by Jeremy Jeremy-Boyle) +* Fix out of sync journal with pre-start and pre-stop scripts (contributed by Jeremy Jeremy-Boyle) 1.33 diff --git a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/Api/KeyController.php b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/Api/KeyController.php new file mode 100644 index 00000000000..33b6b0174a8 --- /dev/null +++ b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/Api/KeyController.php @@ -0,0 +1,65 @@ +searchBase('keys.key', array("enabled", "name","algo","secret")); + } + public function getKeyAction($uuid = null) + { + $this->sessionClose(); + return $this->getBase('key', 'keys.key', $uuid); + } + public function addKeyAction() + { + return $this->addBase('key', 'keys.key'); + } + public function delKeyAction($uuid) + { + return $this->delBase('keys.key', $uuid); + } + public function setKeyAction($uuid) + { + return $this->setBase('key', 'keys.key', $uuid); + } + public function toggleKeyAction($uuid) + { + return $this->toggleBase('keys.key', $uuid); + } +} diff --git a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/GeneralController.php b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/GeneralController.php index 663acb0589c..2a62d870ddc 100644 --- a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/GeneralController.php +++ b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/GeneralController.php @@ -35,6 +35,7 @@ public function indexAction() $this->view->generalForm = $this->getForm("general"); $this->view->dnsblForm = $this->getForm("dnsbl"); $this->view->formDialogEditBindAcl = $this->getForm("dialogEditBindAcl"); + $this->view->formDialogEditBindKey = $this->getForm("dialogEditBindKey"); $this->view->formDialogEditBindPrimaryDomain = $this->getForm("dialogEditBindPrimaryDomain"); $this->view->formDialogEditBindSecondaryDomain = $this->getForm("dialogEditBindSecondaryDomain"); $this->view->formDialogEditBindRecord = $this->getForm("dialogEditBindRecord"); diff --git a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindKey.xml b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindKey.xml new file mode 100644 index 00000000000..6a0578ecc50 --- /dev/null +++ b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindKey.xml @@ -0,0 +1,28 @@ +
+ + key.enabled + + checkbox + This will enable or disable the key. + + + key.name + + text + Set the name for this key key. + + + key.algo + + dropdown + true + Set the authentication algorithm for the key. This requires a restart of the Bind Service. + + + key.secret + + text + true + The base64-encoded key. This requires a restart of the Bind Service. + +
\ No newline at end of file diff --git a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindPrimaryDomain.xml b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindPrimaryDomain.xml index 8439403d18b..a7fb93ed986 100644 --- a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindPrimaryDomain.xml +++ b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/dialogEditBindPrimaryDomain.xml @@ -17,11 +17,17 @@ select_multiple Define the ACLs where you allow which server can retrieve this zone. + + domain.allowedkeys + + select_multiple + Allowed RNDC keys for this zone. + domain.allowrndctransfer - + checkbox - Allow transfers via the RDNC key named "rndc-key". The key is shown in the general tab. + Allow transfers via the selected RNDC keys domain.allowquery @@ -31,9 +37,9 @@ domain.allowrndcupdate - + checkbox - Allow updates via the RDNC key named "rndc-key". The key is shown in the general tab. + Allow updates via the selected RNDC keys. domain.ttl diff --git a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/general.xml b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/general.xml index 23e9c92026e..1b544f39efe 100644 --- a/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/general.xml +++ b/dns/bind/src/opnsense/mvc/app/controllers/OPNsense/Bind/forms/general.xml @@ -182,17 +182,17 @@ true - general.rndcalgo - - dropdown + general.rndccontrolkeys + + select_multiple + Allowed RNDC control keys true - Set the authentication algorithm for the RNDC key. This requires a restart of the Bind Service. - general.rndcsecret - - text + general.defaultrndccontrolkey + + dropdown + Default RNDC control key true - The base64-encoded RNDC key. This requires a restart of the Bind Service. diff --git a/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml b/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml index 4f885f4baee..21d7337f103 100644 --- a/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml +++ b/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml @@ -51,6 +51,16 @@ Y + + + + + Y +