diff --git a/net/radsecproxy/Makefile b/net/radsecproxy/Makefile index 4d2d3d1cf..e358659a0 100644 --- a/net/radsecproxy/Makefile +++ b/net/radsecproxy/Makefile @@ -1,6 +1,6 @@ PLUGIN_NAME= radsecproxy PLUGIN_VERSION= 1.0 -PLUGIN_REVISION= 1 +PLUGIN_REVISION= 2 PLUGIN_COMMENT= RADIUS proxy provides both RADIUS UDP and TCP/TLS (RadSec) transport PLUGIN_DEPENDS= radsecproxy PLUGIN_MAINTAINER= tobias@boehnert.dev diff --git a/net/radsecproxy/src/etc/inc/plugins.inc.d/radsecproxy.inc b/net/radsecproxy/src/etc/inc/plugins.inc.d/radsecproxy.inc index 19462cfb7..3b4d464b5 100644 --- a/net/radsecproxy/src/etc/inc/plugins.inc.d/radsecproxy.inc +++ b/net/radsecproxy/src/etc/inc/plugins.inc.d/radsecproxy.inc @@ -1,6 +1,7 @@ general->enabled == '1') { - return true; - } - - return false; + return (string)(new \OPNsense\RadSecProxy\RadSecProxy())->general->enabled == '1'; } function radsecproxy_syslog() { - $logfacilities = array(); - $logfacilities['radsecproxy'] = array( - 'facility' => array('LOG_DAEMON'), - ); - return $logfacilities; + return [ + 'radsecproxy' => [ + 'facility' => ['radsecproxy'] + ] + ]; } function radsecproxy_services() { - $services = array(); + $services = []; if (radsecproxy_enabled()) { - $services[] = array( + $services[] = [ 'description' => gettext('Radius Secure Proxy'), - 'configd' => array( - 'restart' => array('radsecproxy restart'), - 'start' => array('radsecproxy start'), - 'stop' => array('radsecproxy stop'), - ), + 'configd' => [ + 'restart' => ['radsecproxy restart'], + 'start' => ['radsecproxy start'], + 'stop' => ['radsecproxy stop'], + ], 'name' => 'radsecproxy', - 'pidfile' => '/var/run/radsecproxy.pid' - ); + 'pidfile' => '/var/run/radsecproxy/radsecproxy.pid' + ]; } return $services; } diff --git a/net/radsecproxy/src/etc/rc.d/os-radsecproxy b/net/radsecproxy/src/etc/rc.d/os-radsecproxy deleted file mode 100755 index cb79588f7..000000000 --- a/net/radsecproxy/src/etc/rc.d/os-radsecproxy +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -# PROVIDE: radsecproxy -# REQUIRE: LOGIN -# KEYWORD: shutdown - -# Add the following line to /etc/rc.conf.local or /etc/rc.conf -# to enable this service: -# -# radsecproxy_enable (bool): Set to NO by default. -# Set it to YES to enable radsecproxy. - -. /etc/rc.subr - -name="radsecproxy" -rcvar=radsecproxy_enable - -: ${radsecproxy_enable:="NO"} -: ${radsecproxy_user:="root"} -: ${radsecproxy_group:="wheel"} -: ${radsecproxy_pidfile:="/var/run/radsecproxy.pid"} - -user=${radsecproxy_user} -group=${radsecproxy_group} -pidfile=${radsecproxy_pidfile} -required_files=/usr/local/etc/radsecproxy.conf - -command="/usr/local/sbin/${name}" -command_args="-c /usr/local/etc/radsecproxy.conf -i ${pidfile}" - -start_precmd="radsecproxy_prestart" -stop_postcmd="radsecproxy_poststop" - -radsecproxy_prestart() -{ - mkdir -p $(dirname $pidfile) - chown ${user}:${group} $(dirname $pidfile) -} - -radsecproxy_poststop() -{ - rm -f ${pidfile} -} - -load_rc_config $name -run_rc_command "$1" diff --git a/net/radsecproxy/src/opnsense/mvc/app/models/OPNsense/RadSecProxy/Menu/Menu.xml b/net/radsecproxy/src/opnsense/mvc/app/models/OPNsense/RadSecProxy/Menu/Menu.xml index 38211fc76..707b620ca 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/models/OPNsense/RadSecProxy/Menu/Menu.xml +++ b/net/radsecproxy/src/opnsense/mvc/app/models/OPNsense/RadSecProxy/Menu/Menu.xml @@ -7,6 +7,7 @@ + diff --git a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/clients.volt b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/clients.volt index c03c5d45b..ea71368b5 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/clients.volt +++ b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/clients.volt @@ -24,33 +24,35 @@ }); - - - - - - - - - - - - - - - - - - - - -
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Type') }}{{ lang._('Host') }}{{ lang._('Identifier') }}{{ lang._('Description') }}{{ lang._('Commands') }}
- - -
+
+ + + + + + + + + + + + + + + + + + + + +
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Type') }}{{ lang._('Host') }}{{ lang._('Identifier') }}{{ lang._('Description') }}{{ lang._('Commands') }}
+ + +
-
- +
+ +
{{ partial("layout_partials/base_dialog",['fields':formDialogClient,'id':'DialogClient','label':lang._('Edit client')])}} diff --git a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/realms.volt b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/realms.volt index 85453ec79..9afdea038 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/realms.volt +++ b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/realms.volt @@ -23,32 +23,32 @@ }); }); +
+ + + + + + + + + + + + + + + + + + +
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Realm') }}{{ lang._('Description') }}{{ lang._('Commands') }}
+ + +
- - - - - - - - - - - - - - - - - - -
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Realm') }}{{ lang._('Description') }}{{ lang._('Commands') }}
- - -
- -
- +
+ +
- {{ partial("layout_partials/base_dialog",['fields':formDialogRealm,'id':'DialogRealm','label':lang._('Edit realm')])}} diff --git a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/rewrites.volt b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/rewrites.volt index 0da6b6612..a6283441e 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/rewrites.volt +++ b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/rewrites.volt @@ -24,31 +24,33 @@ }); - - - - - - - - - - - - - - - - - - -
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Type') }}{{ lang._('Description') }}{{ lang._('Commands') }}
- - -
+
+ + + + + + + + + + + + + + + + + + +
{{ lang._('ID') }}{{ lang._('Enabled') }}{{ lang._('Type') }}{{ lang._('Description') }}{{ lang._('Commands') }}
+ + +
-
- +
+ +
{{ partial("layout_partials/base_dialog",['fields':formDialogRewrite,'id':'DialogRewrite','label':lang._('Edit rewrite-rule')])}} diff --git a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/servers.volt b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/servers.volt index b394b1e5a..86a51c1ff 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/servers.volt +++ b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/servers.volt @@ -24,33 +24,34 @@ }); - - - - - - - - - - - - - - - - - - - - -
{{ lang._('ID') }}{{ lang._('Host') }}{{ lang._('Identifier') }}{{ lang._('Description') }}{{ lang._('Type') }}{{ lang._('TLS-Config') }}{{ lang._('Commands') }}
- - -
+
+ + + + + + + + + + + + + + + + + + + + +
{{ lang._('ID') }}{{ lang._('Host') }}{{ lang._('Identifier') }}{{ lang._('Description') }}{{ lang._('Type') }}{{ lang._('TLS-Config') }}{{ lang._('Commands') }}
+ + +
-
- +
+ +
- {{ partial("layout_partials/base_dialog",['fields':formDialogServer,'id':'DialogServer','label':lang._('Edit server')])}} diff --git a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/tls.volt b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/tls.volt index cc63e0c74..5aedde084 100644 --- a/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/tls.volt +++ b/net/radsecproxy/src/opnsense/mvc/app/views/OPNsense/RadSecProxy/tls.volt @@ -24,32 +24,33 @@ }); - - - - - - - - - - - - - - - - - - - -
{{ lang._('ID') }}{{ lang._('Name') }}{{ lang._('Description') }}{{ lang._('CA-certificate') }}{{ lang._('Proxy-certificate') }}{{ lang._('Commands') }}
- - -
+
+ + + + + + + + + + + + + + + + + + + +
{{ lang._('ID') }}{{ lang._('Name') }}{{ lang._('Description') }}{{ lang._('CA-certificate') }}{{ lang._('Proxy-certificate') }}{{ lang._('Commands') }}
+ + +
-
- +
+ +
- {{ partial("layout_partials/base_dialog",['fields':formDialogTls,'id':'DialogTls','label':lang._('Edit TLS-config')])}} diff --git a/net/radsecproxy/src/opnsense/scripts/OPNsense/RadSecProxy/setup.sh b/net/radsecproxy/src/opnsense/scripts/OPNsense/RadSecProxy/setup.sh index cd09c51f9..420c0e62f 100755 --- a/net/radsecproxy/src/opnsense/scripts/OPNsense/RadSecProxy/setup.sh +++ b/net/radsecproxy/src/opnsense/scripts/OPNsense/RadSecProxy/setup.sh @@ -1,10 +1,10 @@ #!/bin/sh -RADSECPROXY_DIRS="/usr/local/etc/radsecproxy.d /usr/local/etc/radsecproxy.d/certs" +RADSECPROXY_DIRS="/usr/local/etc/radsecproxy.d/certs" for directory in ${RADSECPROXY_DIRS}; do mkdir -p ${directory} - chown -R www:www ${directory} + chown -R root:wheel ${directory} chmod -R 750 ${directory} done @@ -12,7 +12,4 @@ done # export required certs to filesystem /usr/local/opnsense/scripts/OPNsense/RadSecProxy/generate_certs.php > /dev/null 2>&1 -# remove logfile - sometimes it will stop radsecproxy from starting -#rm /var/log/radsecproxy.log - exit 0 diff --git a/net/radsecproxy/src/opnsense/service/conf/actions.d/actions_radsecproxy.conf b/net/radsecproxy/src/opnsense/service/conf/actions.d/actions_radsecproxy.conf index 79ca19046..6f7d0908f 100644 --- a/net/radsecproxy/src/opnsense/service/conf/actions.d/actions_radsecproxy.conf +++ b/net/radsecproxy/src/opnsense/service/conf/actions.d/actions_radsecproxy.conf @@ -1,11 +1,5 @@ -[setup] -command:/usr/local/opnsense/scripts/OPNsense/RadSecProxy/setup.sh; -parameters: -type:script -message:setup radsecproxy service requirements - [start] -command:/usr/local/opnsense/scripts/OPNsense/RadSecProxy/setup.sh;/usr/local/etc/rc.d/radsecproxy start; +command:/usr/local/etc/rc.d/radsecproxy start parameters: type:script message:starting radsecproxy @@ -17,13 +11,13 @@ type:script message:stopping radsecproxy [restart] -command:/usr/local/opnsense/scripts/OPNsense/RadSecProxy/setup.sh;/usr/local/etc/rc.d/radsecproxy restart; +command:/usr/local/etc/rc.d/radsecproxy restart; parameters: type:script message:restarting radsecproxy [reload] -command:/usr/local/opnsense/scripts/OPNsense/RadSecProxy/setup.sh;/usr/local/etc/rc.d/radsecproxy restart; +command:/usr/local/etc/rc.d/radsecproxy restart; parameters: type:script message:reloading radsecproxy diff --git a/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/radsecproxy.conf b/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/radsecproxy.conf index bdb62ce38..45dcc4c3a 100644 --- a/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/radsecproxy.conf +++ b/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/radsecproxy.conf @@ -5,8 +5,6 @@ # GENERAL ########################################### -#PidFile /var/run/radsecproxy.pid -#LogDestination file:///var/log/radsecproxy.log LogDestination x-syslog:///LOG_DAEMON {% if OPNsense.radsecproxy.general.logLevel is defined and OPNsense.radsecproxy.general.logLevel != "" %} diff --git a/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/rc.conf.d b/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/rc.conf.d index 35042a335..aa0daa928 100644 --- a/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/rc.conf.d +++ b/net/radsecproxy/src/opnsense/service/templates/OPNsense/RadSecProxy/rc.conf.d @@ -1,7 +1,8 @@ -{% if helpers.exists('OPNsense.radsecproxy.general.enabled') and OPNsense.radsecproxy.general.enabled == '1' %} +{% if not helpers.empty('OPNsense.radsecproxy.general.enabled') %} radsecproxy_enable="YES" {% else %} radsecproxy_enable="NO" {% endif %} radsecproxy_user="root" radsecproxy_group="wheel" +radsecproxy_setup="/usr/local/opnsense/scripts/OPNsense/RadSecProxy/setup.sh" diff --git a/net/radsecproxy/src/opnsense/service/templates/OPNsense/Syslog/local/radsecproxy.conf b/net/radsecproxy/src/opnsense/service/templates/OPNsense/Syslog/local/radsecproxy.conf new file mode 100644 index 000000000..2133f76f5 --- /dev/null +++ b/net/radsecproxy/src/opnsense/service/templates/OPNsense/Syslog/local/radsecproxy.conf @@ -0,0 +1,6 @@ +################################################################### +# Local syslog-ng configuration filter definition [radsecproxy]. +################################################################### +filter f_local_radsecproxy { + program("radsecproxy"); +};