|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /proc/self/root/usr/libexec/webmin/net/ |
Upload File : |
#!/usr/bin/perl
# save_range.cgi
# Create, save or delete a boot-time address range
require './net-lib.pl';
$access{'ifcs'} == 2 || $access{'ifcs'} == 3 || &error($text{'ifcs_ecannot'});
&ReadParse();
@boot = &boot_interfaces();
sub check_restricted_interfaces() {
if ($access{'ifcs'} == 3) {
map { $can_interfaces{$_}++ } split(/\s+/, $access{'interfaces'});
if (! $can_interfaces{$b->{'name'}}) {
&error($text{'ifcs_ecannot_this'});
}
}
}
if ($in{'delete'} || $in{'unapply'}) {
# Delete interface
&error_setup($text{'range_err1'});
$b = $boot[$in{'idx'}];
&check_restricted_interfaces();
if ($in{'unapply'}) {
# Shut down this range
&error_setup($text{'range_err4'});
$err = &unapply_interface($act);
$err && &error("<pre>$err</pre>");
}
&delete_interface($b);
&webmin_log("delete", "range", $b->{'fullname'}, $b);
}
else {
# Save or create interface
&error_setup($text{'range_err2'});
if (!$in{'new'}) {
$b = $boot[$in{'idx'}];
}
else {
$b = { };
}
&parse_range($b, \%in);
&check_restricted_interfaces();
&save_interface($b);
if ($in{'activate'}) {
# Make this interface active (if possible)
&error_setup($text{'range_err3'});
$err = &apply_interface($b);
$err && &error("<pre>$err</pre>");
}
&webmin_log($in{'new'} ? 'create' : 'modify',
"range", $b->{'fullname'}, $b);
}
&redirect("list_ifcs.cgi?mode=boot");