widentd
1.0.4
Services: widentd
widentd
widentd.sh
widentd
installedpackages->package->$packagename->configuration->settings
Enable widentd daemon
enable
checkbox
Listening interface
interface
(Default: WAN)
]]>
interfaces_selection
wan
Username
username
(Defaults to 'user' if left empty.)
]]>
input
System name
sysname
(Defaults to 'UNIX' if left empty.)
]]>
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")) {
stop_service("widentd");
}
return;
} else {
restart_service("widentd");
}
config_unlock();
conf_mount_ro();
}
function validate_input_widentd($post, &$input_errors) {
/* Only allow ^[a-zA-Z\.]+$ otherwise the daemon will not start; see widentd manpage */
if (($post['username'] != "") && !preg_match("/^[a-zA-Z\.]+$/", $post['username'])) {
$input_errors[] = 'Username may only contain uppercase and lowercase letters [a-zA-Z] and "." character.';
}
/* Technically, ^[A-Z][A-Z0-9\-.\/]+[A-Z0-9]$ should be valid characters here
https://www.iana.org/assignments/operating-system-names/operating-system-names.xhtml
However this is not supported by widentd; the service will not start.
*/
if (($post['sysname'] != "") && !preg_match("/^[a-zA-Z]+$/", $post['sysname'])) {
$input_errors[] .= 'System name may only contain uppercase and lowercase letters [a-zA-Z].';
}
/* Check for IPv6-only interfaces */
$int = convert_friendly_interface_to_real_interface_name($post['interface']);
$ip = find_interface_ip($int);
if (!is_ipaddrv4($ip)) {
$input_errors[] .= 'The selected interface has no IPv4 configured. Widentd does not support IPv6.';
}
}
]]>
sync_package_widentd();
sync_package_widentd();
unlink_if_exists("/usr/local/etc/rc.d/widentd.sh");
validate_input_widentd($_POST, $input_errors);