Files
webmin--webmin/net/delete_aifcs.cgi
T
2026-07-13 13:12:17 +08:00

31 lines
745 B
Perl
Executable File

#!/usr/local/bin/perl
# De-activate a bunch of active interfaces
require './net-lib.pl';
&ReadParse();
&error_setup($text{'daifcs_err'});
@d = split(/\0/, $in{'d'});
@d || &error($text{'daifcs_enone'});
# Do the deletion, one by one
@acts = &active_interfaces();
foreach $d (@d) {
($a) = grep { $_->{'fullname'} eq $d } @acts;
$a || &error($text{'daifcs_egone'});
&can_iface($a) || &error($text{'ifcs_ecannot_this'});
if (defined(&delete_active_interface)) {
# Config-driven backends may need to remove persistent state too.
$err = &delete_active_interface($a);
$err && &error("<pre>$err</pre>");
}
else {
&deactivate_interface($a);
}
}
&webmin_log("delete", "aifcs", scalar(@d));
&redirect("list_ifcs.cgi?mode=active");