| Server IP : 173.209.174.21 / Your IP : 216.73.216.89 Web Server : Apache/2.4.58 (Ubuntu) System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : nodor ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/webmin/ipsec/ |
Upload File : |
#!/usr/bin/perl
# save_config.cgi
# Update or create the config section
require './ipsec-lib.pl';
&ReadParse();
&error_setup($text{'config_err'});
@conf = &get_config();
($config) = grep { $_->{'name'} eq 'config' } @conf;
if (!$config) {
$config = { 'name' => 'config',
'value' => 'setup',
'values' => { } };
}
# Validate and store inputs
if ($in{'ifaces_mode'} == 0) {
delete($config->{'values'}->{'interfaces'});
}
elsif ($in{'ifaces_mode'} == 1) {
$config->{'values'}->{'interfaces'} = '%none';
}
elsif ($in{'ifaces_mode'} == 2) {
$config->{'values'}->{'interfaces'} = '%defaultroute';
}
else {
for($n=0; defined($ri = $in{"ri_$n"}); $n++) {
next if (!$ri);
$ii = $in{"ii_$n"};
$done{$ri}++ && &error(&text('config_eri', $ri));
push(@ifaces, "$ii=$ri");
}
@ifaces || &error($text{'config_enone'});
$config->{'values'}->{'interfaces'} = join(" ", @ifaces);
}
if ($in{'syslog_def'}) {
delete($config->{'values'}->{'syslog'});
}
else {
$config->{'values'}->{'syslog'} = $in{'fac'}.".".$in{'pri'};
}
if ($in{'fwd'} eq 'yes' || $config->{'values'}->{'forwardcontrol'}) {
$config->{'values'}->{'forwardcontrol'} = $in{'fwd'};
}
else {
delete($config->{'values'}->{'forwardcontrol'});
}
if ($in{'fwd'} eq 'yes' || $config->{'values'}->{'forwardcontrol'}) {
$config->{'values'}->{'forwardcontrol'} = $in{'fwd'};
}
else {
delete($config->{'values'}->{'forwardcontrol'});
}
if ($in{'nat'} eq 'yes' || $config->{'values'}->{'nat_traversal'}) {
$config->{'values'}->{'nat_traversal'} = $in{'nat'};
}
else {
delete($config->{'values'}->{'nat_traversal'});
}
# Create or update the section
$file = $config->{'file'} || $config{'file'};
&lock_file($file);
if ($config->{'file'}) {
&modify_conn($config);
}
else {
&create_conn($config);
}
&unlock_file($file);
&webmin_log("config");
&redirect("");