summaryrefslogtreecommitdiffstats
path: root/bin/drakconnect
diff options
context:
space:
mode:
Diffstat (limited to 'bin/drakconnect')
-rwxr-xr-xbin/drakconnect63
1 files changed, 4 insertions, 59 deletions
diff --git a/bin/drakconnect b/bin/drakconnect
index 8ce0420..749421f 100755
--- a/bin/drakconnect
+++ b/bin/drakconnect
@@ -64,7 +64,10 @@ $::Wizard_pix_up = "drakconnect";
local $_ = join '', @ARGV;
/--skip-wizard/ and manage();
/--add/ and add_intf();
-/--del/ and del_intf();
+if (/--del/) {
+ require network::drakconnect::delete;
+ network::drakconnect::delete::del_intf($in, $net, $modules_conf);
+}
if (/--internet/) {
require network::drakconnect::global;
network::drakconnect::global::configure_net($in, $net);
@@ -590,64 +593,6 @@ sub add_intf() {
$in->exit(0);
}
-sub del_intf() {
- my ($intf2delete, $failure);
- if (!keys %{$net->{ifcfg}}) {
- $in->ask_warn(N("Error"), N("No ethernet network adapter has been detected on your system. Please run the hardware configuration tool."));
- $in->exit(0);
- }
- require wizards;
- my $wiz = wizards->new(
- {
- defaultimage => "drakconnect",
- name => N("Remove a network interface"),
- pages => {
- welcome => {
- no_back => 1,
- name => N("Select the network interface to remove:"),
- data => [ { label => N("Net Device"), val => \$intf2delete, allow_empty_list => 1,
- list => [ keys %{$net->{ifcfg}} ],
- format => sub {
- my $type = network::tools::get_interface_type($net->{ifcfg}{$_[0]});
- $names{$_[0]} || ($type ? "$type ($_[0])" : $_[0]);
- }
- }
- ],
- post => sub {
- !$::testing and eval {
- if (member($intf2delete, qw(adsl modem))) {
- eval { rm_rf("/etc/ppp/peers/ppp0") };
- eval { rm_rf("/etc/sysconfig/network-scripts/ifcfg-ppp0") };
- }
- if ($intf2delete eq 'adsl') {
- eval { rm_rf("/etc/sysconfig/network-scripts/ifcfg-sagem") };
- } elsif ($intf2delete eq 'isdn') {
- eval { rm_rf("/etc/sysconfig/network-scripts/ifcfg-ippp0") };
- } else {
- system("ifdown $intf2delete");
- eval { rm_rf("/etc/sysconfig/network-scripts/$intf2delete") };
- eval { rm_rf("/etc/sysconfig/network-scripts/ifcfg-$intf2delete") };
- }
- };
- $failure = $@;
- network::network::reload_net_applet();
- return "end";
- },
- },
- end => {
- name => sub {
- $failure ?
- N("An error occurred while deleting the \"%s\" network interface:\n\n%s", $intf2delete, $failure)
- : N("Congratulations, the \"%s\" network interface has been successfully deleted", $intf2delete);
- },
- end => 1,
- },
- },
- });
- $wiz->safe_process($in);
- $in->exit(0);
-}
-
sub get_intf_ip {
my ($interface) = @_;
my ($ip, $state, $mask);