diff --git a/net/mdns-repeater/Makefile b/net/mdns-repeater/Makefile new file mode 100644 index 000000000..2037b675a --- /dev/null +++ b/net/mdns-repeater/Makefile @@ -0,0 +1,8 @@ +PLUGIN_NAME= mdns-repeater +PLUGIN_VERSION= 1.0 +PLUGIN_COMMENT= Proxy multicast DNS between networks +PLUGIN_MAINTAINER= franz.fabian.94@gmail.com +PLUGIN_DEPENDS= mdns-repeater +PLUGIN_DEVEL= yes + +.include "../../Mk/plugins.mk" diff --git a/net/mdns-repeater/pkg-descr b/net/mdns-repeater/pkg-descr new file mode 100644 index 000000000..e69de29bb diff --git a/net/mdns-repeater/src/etc/inc/plugins.inc.d/mdnsrepeater.inc b/net/mdns-repeater/src/etc/inc/plugins.inc.d/mdnsrepeater.inc new file mode 100644 index 000000000..0474e3105 --- /dev/null +++ b/net/mdns-repeater/src/etc/inc/plugins.inc.d/mdnsrepeater.inc @@ -0,0 +1,68 @@ +enabled == '1') { + return true; + } + + return false; +} + +function mdnsrepeater_firewall($fw) +{ + if (!mdnsrepeater_enabled()) { + return; + } +} + +function mdnsrepeater_services() +{ + $services = array(); + + // don't load the service if it is not enabled + // maybe there are no settings yet + if (!mdnsrepeater_enabled()) { + return $services; + } + + $services[] = array( + 'description' => gettext('MDNS Repeater'), + 'configd' => array( + 'restart' => array('mdnsrepeater restart'), + 'start' => array('mdnsrepeater start'), + 'stop' => array('mdnsrepeater stop'), + ), + 'name' => 'mdns-repeater', + ); + + return $services; +} diff --git a/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/ServiceController.php b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/ServiceController.php new file mode 100644 index 000000000..d5a0e9b1b --- /dev/null +++ b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/ServiceController.php @@ -0,0 +1,69 @@ + 'failed'); + $mdlMDNSRepeater = new MDNSRepeater(); + $result['result'] = $backend->configdRun('mdnsrepeater status'); + return $result; + } + + public function startAction() + { + $backend = new Backend(); + $result = array('result' => 'failed'); + $backend->configdRun('template reload OPNsense/MDNSRepeater'); + $result['result'] = $backend->configdRun('mdnsrepeater start'); + return $result; + } + + public function stopAction() + { + $backend = new Backend(); + $result = array("result" => "failed"); + $mdlMDNSRepeater = new MDNSRepeater(); + $result['result'] = $backend->configdRun('mdnsrepeater stop'); + return $result; + } + + public function restartAction() + { + $this->stopAction(); + return $this->startAction(); + } +} diff --git a/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/SettingsController.php b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/SettingsController.php new file mode 100644 index 000000000..945bafa57 --- /dev/null +++ b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/Api/SettingsController.php @@ -0,0 +1,39 @@ +view->title = gettext('MDNS Repeater'); + $this->view->general = $this->getForm("general"); + $this->view->pick('OPNsense/MDNSRepeater/index'); + } +} diff --git a/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/forms/general.xml b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/forms/general.xml new file mode 100644 index 000000000..41746493b --- /dev/null +++ b/net/mdns-repeater/src/opnsense/mvc/app/controllers/OPNsense/MDNSRepeater/forms/general.xml @@ -0,0 +1,14 @@ +
diff --git a/net/mdns-repeater/src/opnsense/mvc/app/models/OPNsense/MDNSRepeater/ACL/ACL.xml b/net/mdns-repeater/src/opnsense/mvc/app/models/OPNsense/MDNSRepeater/ACL/ACL.xml new file mode 100644 index 000000000..d7bef3537 --- /dev/null +++ b/net/mdns-repeater/src/opnsense/mvc/app/models/OPNsense/MDNSRepeater/ACL/ACL.xml @@ -0,0 +1,9 @@ +