mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
103 lines
2.7 KiB
Perl
Executable File
103 lines
2.7 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_misc.cgi
|
|
# save miscellaneous options
|
|
|
|
require './sshd-lib.pl';
|
|
&ReadParse();
|
|
&error_setup($text{'misc_err'});
|
|
&lock_file($config{'sshd_config'});
|
|
$conf = &get_sshd_config();
|
|
|
|
&save_directive("X11Forwarding", $conf, $in{'x11'} ? 'yes' : 'no');
|
|
|
|
if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
|
|
if ($in{'xoff_def'}) {
|
|
&save_directive("X11DisplayOffset", $conf);
|
|
}
|
|
else {
|
|
$in{'xoff'} =~ /^\d+$/ || &error($text{'misc_exoff'});
|
|
&save_directive("X11DisplayOffset", $conf, $in{'xoff'});
|
|
}
|
|
|
|
if ($version{'type'} eq 'ssh' || $version{'number'} >= 2) {
|
|
if ($in{'xauth_def'}) {
|
|
&save_directive("XAuthLocation", $conf);
|
|
}
|
|
else {
|
|
-x $in{'xauth'} || &error($text{'misc_exauth'});
|
|
&save_directive("XAuthLocation", $conf, $in{'xauth'});
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
|
|
if ($in{'umask_def'}) {
|
|
&save_directive("Umask", $conf);
|
|
}
|
|
else {
|
|
$in{'umask'} =~ /^0[0-7][0-7][0-7]$/ ||
|
|
&error($text{'misc_eumask'});
|
|
&save_directive("Umask", $conf, $in{'umask'});
|
|
}
|
|
}
|
|
|
|
&save_directive("SyslogFacility", $conf,
|
|
$in{'syslog_def'} ? undef : uc($in{'syslog'}));
|
|
|
|
if ($version{'type'} eq 'openssh') {
|
|
&save_directive("LogLevel", $conf,
|
|
$in{'loglevel_def'} ? undef : $in{'loglevel'});
|
|
}
|
|
|
|
if (($version{'type'} ne 'ssh' && $version{'number'} < 7.6) ||
|
|
($version{'type'} eq 'ssh' && $version{'number'} < 2)) {
|
|
if ($in{'bits_def'}) {
|
|
&save_directive("ServerKeyBits", $conf);
|
|
}
|
|
else {
|
|
$in{'bits'} =~ /^\d+$/ || &error($text{'misc_ebits'});
|
|
&save_directive("ServerKeyBits", $conf, $in{'bits'});
|
|
}
|
|
}
|
|
|
|
if ($version{'type'} eq 'ssh') {
|
|
&save_directive("QuietMode", $conf, $in{'quite'} ? 'yes' : 'no');
|
|
}
|
|
|
|
if (($version{'type'} ne 'ssh' && $version{'number'} < 7.6) ||
|
|
($version{'type'} eq 'ssh' && $version{'number'} < 2)) {
|
|
if ($in{'regen_def'}) {
|
|
&save_directive("KeyRegenerationInterval", $conf);
|
|
}
|
|
else {
|
|
$in{'regen'} =~ /^\d+$/ || &error($text{'misc_eregen'});
|
|
&save_directive("KeyRegenerationInterval", $conf, $in{'regen'});
|
|
}
|
|
}
|
|
|
|
if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
|
|
&save_directive("FascistLogging", $conf, $in{'fascist'} ? 'yes' : 'no');
|
|
}
|
|
|
|
if ($version{'type'} eq 'openssh' && $version{'number'} >= 2) {
|
|
if ($in{'pid_def'}) {
|
|
&save_directive("PidFile", $conf);
|
|
}
|
|
else {
|
|
$in{'pid'} =~ /^\S+$/ || &error($text{'misc_epid'});
|
|
&save_directive("PidFile", $conf, $in{'pid'});
|
|
}
|
|
}
|
|
|
|
if ($version{'type'} eq 'openssh' &&
|
|
$version{'number'} >= 3.2 && $version{'number'} < 7.5) {
|
|
&save_directive("UsePrivilegeSeparation", $conf,
|
|
$in{'separ'} ? 'yes' : 'no');
|
|
}
|
|
|
|
&flush_file_lines();
|
|
&unlock_file($config{'sshd_config'});
|
|
&webmin_log("misc");
|
|
&redirect("");
|
|
|