From 8a053f6f39df69ee0afac9b5d4c80b156a8a5a51 Mon Sep 17 00:00:00 2001 From: Fabian Franz Date: Tue, 25 Apr 2017 19:24:34 +0200 Subject: [PATCH] Quagga (#130) * add error handling * Bugfix: Fix modal not closing * Quagga: add OSPF actions * bump Version --- net/quagga/Makefile | 2 +- .../Quagga/Api/OspfsettingsController.php | 2 + .../src/opnsense/scripts/quagga/quagga.rb | 3 +- .../conf/actions.d/actions_quagga.conf | 37 +++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/net/quagga/Makefile b/net/quagga/Makefile index 8daed4364..6c47bea7d 100644 --- a/net/quagga/Makefile +++ b/net/quagga/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= quagga -PLUGIN_VERSION= 1.0.1 +PLUGIN_VERSION= 1.1.0 PLUGIN_COMMENT= Quagga Routing Suite PLUGIN_DEPENDS= quagga ruby PLUGIN_MAINTAINER= franz.fabian.94@gmail.com diff --git a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/OspfsettingsController.php b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/OspfsettingsController.php index c684081d5..0a7de07f3 100644 --- a/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/OspfsettingsController.php +++ b/net/quagga/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Api/OspfsettingsController.php @@ -150,6 +150,7 @@ class OspfsettingsController extends ApiMutableModelControllerBase // save config if validated correctly $mdlOSPF->serializeToConfig(); Config::getInstance()->save(); + unset($result['validations']); $result["result"] = "saved"; } } @@ -174,6 +175,7 @@ class OspfsettingsController extends ApiMutableModelControllerBase // save config if validated correctly $mdlOSPF->serializeToConfig(); Config::getInstance()->save(); + unset($result['validations']); $result["result"] = "saved"; } } diff --git a/net/quagga/src/opnsense/scripts/quagga/quagga.rb b/net/quagga/src/opnsense/scripts/quagga/quagga.rb index 1df9c6a9a..e48d49678 100755 --- a/net/quagga/src/opnsense/scripts/quagga/quagga.rb +++ b/net/quagga/src/opnsense/scripts/quagga/quagga.rb @@ -30,8 +30,9 @@ class VTYSH end def execute(param) - o = `vtysh -c "#{param.shellescape}"` + o = `#{@path} -c #{param.shellescape}` raise "error" if o.length <= 2 + raise "command error - command: #{param}" if o.include? "% Unknown command" o end diff --git a/net/quagga/src/opnsense/service/conf/actions.d/actions_quagga.conf b/net/quagga/src/opnsense/service/conf/actions.d/actions_quagga.conf index 52f882abd..373639174 100644 --- a/net/quagga/src/opnsense/service/conf/actions.d/actions_quagga.conf +++ b/net/quagga/src/opnsense/service/conf/actions.d/actions_quagga.conf @@ -27,3 +27,40 @@ command:/usr/local/etc/rc.d/quagga status;exit 0 parameters: type:script_output message:request quagga + +[ospf-database] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --ospf-database +parameters: +type:script_output +message: Shows the OSPF database + +[ospf-route] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --ospf-route +parameters: +type:script_output +message: print OSPF routing table + +[ospf-interface] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --ospf-interface +parameters: +type:script_output +message: print OSPF interface information + +[ospf-neighbor] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --ospf-neighbor +parameters: +type:script_output +message: Print OSPF neighbors + +[ospf-overview] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --ospf-overview +parameters: +type:script_output +message: Print OSPF summary + +[general-routes] +command:/usr/local/opnsense/scripts/quagga/quagga.rb --general-routes +parameters: +type:script_output +message: Print Routing Table +