From ec13ca037f5d35116d4abd5ed8672786207600c9 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 6 Jul 2017 07:22:00 +0200 Subject: [PATCH] net/freeradius: follow-ups for initial import --- README.md | 1 + net/freeradius/Makefile | 1 + .../Freeradius/Api/ClientController.php | 16 ++++++------- .../Freeradius/Api/GeneralController.php | 2 +- .../Freeradius/Api/UserController.php | 16 ++++++------- .../views/OPNsense/Freeradius/general.volt | 1 - .../src/opnsense/scripts/Freeradius/setup.sh | 24 ++++++++++--------- .../OPNsense/Freeradius/clients.conf | 2 +- .../OPNsense/Freeradius/mods-enabled-eap | 4 ++-- 9 files changed, 35 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index cb4e1de7d..ba0bad652 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ devel/debug -- Debugging Tools devel/helloworld -- A sample framework application dns/dyndns -- Dynamic DNS Support dns/rfc2136 -- RFC-2136 Support +net/freeradius -- RADIUS Authentication, Authorization and Accounting Server net/ftp-proxy -- Control ftp-proxy processes net/haproxy -- Reliable, high performance TCP/HTTP load balancer net/igmp-proxy -- IGMP-Proxy Service diff --git a/net/freeradius/Makefile b/net/freeradius/Makefile index a2937ed2c..5b3d803ec 100644 --- a/net/freeradius/Makefile +++ b/net/freeradius/Makefile @@ -3,5 +3,6 @@ PLUGIN_VERSION= 0.3.0 PLUGIN_COMMENT= RADIUS Authentication, Authorization and Accounting Server PLUGIN_DEPENDS= freeradius3 PLUGIN_MAINTAINER= m.muenz@gmail.com +PLUGIN_DEVEL= yes .include "../../Mk/plugins.mk" diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/ClientController.php b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/ClientController.php index ca7705d27..4704aa489 100644 --- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/ClientController.php +++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/ClientController.php @@ -49,7 +49,7 @@ class ClientController extends ApiMutableModelControllerBase } return $result; } - + public function setAction() { $result = array("result"=>"failed"); @@ -74,7 +74,7 @@ class ClientController extends ApiMutableModelControllerBase } return $result; } - + public function searchClientAction() { $this->sessionClose(); @@ -85,7 +85,7 @@ class ClientController extends ApiMutableModelControllerBase array("enabled", "name", "secret", "ip" ) ); } - + public function getClientAction($uuid = null) { $mdlClient = $this->getModel(); @@ -101,7 +101,7 @@ class ClientController extends ApiMutableModelControllerBase } return array(); } - + public function addClientAction() { $result = array("result" => "failed"); @@ -126,7 +126,7 @@ class ClientController extends ApiMutableModelControllerBase } return $result; } - + public function delClientAction($uuid) { $result = array("result" => "failed"); @@ -144,7 +144,7 @@ class ClientController extends ApiMutableModelControllerBase } return $result; } - + public function setClientAction($uuid) { if ($this->request->isPost() && $this->request->hasPost("client")) { @@ -172,7 +172,7 @@ class ClientController extends ApiMutableModelControllerBase } return array("result" => "failed"); } - + public function toggle_handler($uuid, $elements, $element) { $result = array("result" => "failed"); @@ -196,7 +196,7 @@ class ClientController extends ApiMutableModelControllerBase } return $result; } - + public function toggleClientAction($uuid) { return $this->toggle_handler($uuid, 'clients', 'client'); diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/GeneralController.php b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/GeneralController.php index 1c9dd417f..5b0200417 100644 --- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/GeneralController.php +++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/GeneralController.php @@ -46,7 +46,7 @@ class GeneralController extends ApiControllerBase } return $result; } - + public function setAction() { $result = array("result"=>"failed"); diff --git a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/UserController.php b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/UserController.php index 3f56675c3..d70bb1e36 100644 --- a/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/UserController.php +++ b/net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/UserController.php @@ -39,7 +39,7 @@ class UserController extends ApiMutableModelControllerBase { static protected $internalModelName = 'User'; static protected $internalModelClass = '\OPNsense\Freeradius\User'; - + public function getAction() { // define list of configurable settings @@ -50,7 +50,7 @@ class UserController extends ApiMutableModelControllerBase } return $result; } - + public function setAction() { $result = array("result"=>"failed"); @@ -75,7 +75,7 @@ class UserController extends ApiMutableModelControllerBase } return $result; } - + public function searchUserAction() { $this->sessionClose(); @@ -86,7 +86,7 @@ class UserController extends ApiMutableModelControllerBase array("enabled", "username", "password", "description", "ip", "subnet", "vlan" ) ); } - + public function getUserAction($uuid = null) { $mdlUser = $this->getModel(); @@ -102,7 +102,7 @@ class UserController extends ApiMutableModelControllerBase } return array(); } - + public function addUserAction() { $result = array("result" => "failed"); @@ -127,7 +127,7 @@ class UserController extends ApiMutableModelControllerBase } return $result; } - + public function delUserAction($uuid) { $result = array("result" => "failed"); @@ -145,7 +145,7 @@ class UserController extends ApiMutableModelControllerBase } return $result; } - + public function setUserAction($uuid) { if ($this->request->isPost() && $this->request->hasPost("user")) { @@ -197,7 +197,7 @@ class UserController extends ApiMutableModelControllerBase } return $result; } - + public function toggleUserAction($uuid) { return $this->toggle_handler($uuid, 'users', 'user'); diff --git a/net/freeradius/src/opnsense/mvc/app/views/OPNsense/Freeradius/general.volt b/net/freeradius/src/opnsense/mvc/app/views/OPNsense/Freeradius/general.volt index 6d921fae1..74eeb1f20 100644 --- a/net/freeradius/src/opnsense/mvc/app/views/OPNsense/Freeradius/general.volt +++ b/net/freeradius/src/opnsense/mvc/app/views/OPNsense/Freeradius/general.volt @@ -57,4 +57,3 @@ POSSIBILITY OF SUCH DAMAGE. }); }); - diff --git a/net/freeradius/src/opnsense/scripts/Freeradius/setup.sh b/net/freeradius/src/opnsense/scripts/Freeradius/setup.sh index 0da3ed83d..d70556fb0 100644 --- a/net/freeradius/src/opnsense/scripts/Freeradius/setup.sh +++ b/net/freeradius/src/opnsense/scripts/Freeradius/setup.sh @@ -1,15 +1,17 @@ #!/bin/sh -user=radiusd -group=radiusd +RADIUS_FILES=/var/log/radius.log /var/log/radutmp /var/log/radwtmp +RADIUS_DIRS=/usr/local/etc/raddb /var/run/radiusd /var/log/radacct +RADIUS_USER=freeradius +RADIUS_GROUP=freeradius -mkdir -p /var/run/radiusd -chown $user:$group /var/run/radiusd -chmod 750 /var/run/radiusd +for DIR in ${RADIUS_DIRS}; do + mkdir -p ${DIR} + chmod -R 750 ${DIR} + chown -R ${RADIUS_USER}:${RADIUS_GROUP} ${DIR} +done -mkdir -p /usr/local/etc/raddb/ -chown $user:$group /usr/local/etc/raddb/ -chmod 750 /usr/local/etc/raddb/ - -chown -R $user:$group /usr/local/etc/raddb -chown -R $user:$group /var/run/radiusd +for FILE in ${RADIUS_FILES}; do + touch ${FILE} + chmod 700 ${FILE} +done diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf index afa7d8f46..56cbd7b86 100644 --- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/clients.conf @@ -5,7 +5,7 @@ {% if client_list.enabled == '1' %} client {{ client_list.ip }} { secret = {{ client_list.secret }} - shortname = {{ client_list.name }} + shortname = {{ client_list.name }} } {% endif %} diff --git a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap index 421454152..329b09739 100644 --- a/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap +++ b/net/freeradius/src/opnsense/service/templates/OPNsense/Freeradius/mods-enabled-eap @@ -643,7 +643,7 @@ eap { # # allowed values: {no, yes} # -{% if helpers.exists('OPNsense.freeradius.general.vlanassign') and OPNsense.freeradius.general.vlanassign == '1' %} +{% if helpers.exists('OPNsense.freeradius.general.vlanassign') and OPNsense.freeradius.general.vlanassign == '1' %} use_tunneled_reply = yes {% else %} use_tunneled_reply = no @@ -760,7 +760,7 @@ eap { # # This will cache attributes for the final Access-Accept. # -{% if helpers.exists('OPNsense.freeradius.general.vlanassign') and OPNsense.freeradius.general.vlanassign == '1' %} +{% if helpers.exists('OPNsense.freeradius.general.vlanassign') and OPNsense.freeradius.general.vlanassign == '1' %} use_tunneled_reply = yes {% else %} use_tunneled_reply = no