From a1185a009a3ba9b98f23ef1221b98943c72c63f2 Mon Sep 17 00:00:00 2001 From: doktornotor Date: Sat, 24 Oct 2015 20:49:24 +0200 Subject: Add privileges configuration to widentd package and some cleanups --- config/widentd/widentd.xml | 93 ++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/config/widentd/widentd.xml b/config/widentd/widentd.xml index fe28ba2d..9730160c 100644 --- a/config/widentd/widentd.xml +++ b/config/widentd/widentd.xml @@ -42,28 +42,32 @@ ]]> widentd - 1.0.4 + 1.0.5 Services: widentd widentd Modify widentd settings.
Services
- pkg_edit.php?xml=widentd.xml&id=0 + pkg_edit.php?xml=widentd.xml
widentd widentd.sh widentd + + https://packages.pfsense.org/packages/config/widentd/widentd.priv.inc + /etc/inc/priv/ + installedpackages->package->$packagename->configuration->settings - Enable widentd daemon + Enable widentd Daemon enable checkbox - Listening interface + Listening Interface interface input - System name + System Name sysname input - + "widentd.sh", - "start" => $start, - "stop" => $stop - ) - ); - /* If the service is (being) disabled, stop it (if running) and do nothing else */ - if (!($config['installedpackages']['widentd']['config'][0][enable])) { - if (is_process_running("widentd")) { + if ($config['installedpackages']['widentd']['config'][0][enable] != "on") { + if (is_service_running("widentd")) { stop_service("widentd"); } - return; + unlink_if_exists("/usr/local/etc/rc.d/widentd.sh"); } else { - restart_service("widentd"); + $int = convert_friendly_interface_to_real_interface_name($config['installedpackages']['widentd']['config'][0]['interface']); + $ip = find_interface_ip($int); + $user = $config['installedpackages']['widentd']['config'][0]['username'] ?: 'user'; + $system = $config['installedpackages']['widentd']['config'][0]['sysname'] ?: 'UNIX'; + $start = "/usr/local/sbin/widentd -u {$user} -o {$system} -i {$ip}"; + $stop = "/usr/bin/killall widentd"; + write_rcfile(array( + "file" => "widentd.sh", + "start" => $start, + "stop" => $stop + ) + ); + /* (Re)start service */ + if (is_service_running("widentd")) { + restart_service("widentd"); + } else { + start_service("widentd"); + } } conf_mount_ro(); - } - - - function validate_input_widentd($post, &$input_errors) { + ]]> + + + - - - sync_package_widentd(); - - - sync_package_widentd(); - - - unlink_if_exists("/usr/local/etc/rc.d/widentd.sh"); - - - validate_input_widentd($_POST, $input_errors); -- cgit v1.2.3