summaryrefslogtreecommitdiffstats
path: root/perl-install/network/netconnect.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/network/netconnect.pm')
-rw-r--r--perl-install/network/netconnect.pm31
1 files changed, 30 insertions, 1 deletions
diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm
index 7dde76ea3..bdca6f0f7 100644
--- a/perl-install/network/netconnect.pm
+++ b/perl-install/network/netconnect.pm
@@ -84,7 +84,7 @@ sub real_main {
my ($modem, $modem_name, $modem_conf_read, $modem_dyn_dns, $modem_dyn_ip);
my ($adsl_type, @adsl_devices, $adsl_failed, $adsl_answer, %adsl_data, $adsl_data, $adsl_provider, $adsl_old_provider);
my ($ntf_name, $ipadr, $netadr, $gateway_ex, $up, $need_restart_network);
- my ($isdn, $isdn_name, $isdn_type, %isdn_cards);
+ my ($isdn, $isdn_name, $isdn_type, %isdn_cards, @isdn_dial_methods);
my $my_isdn = join('', N("Manual choice"), " (", N("Internal ISDN card"), ")");
my ($module, $auto_ip, $protocol, $onboot, $needhostname, $hotplug, $track_network_id, @fields); # lan config
my $success = 1;
@@ -199,6 +199,7 @@ sub real_main {
my $goto_start_on_boot_ifneeded = sub {
return $after_start_on_boot_step->() if $netcnx->{type} =~ /lan|cable/;
+ return "isdn_dial_on_boot" if $netcnx->{type} =~ /isdn/;
return "network_on_boot";
};
@@ -1174,6 +1175,34 @@ It is not necessary on most networks."),
},
},
+ isdn_dial_on_boot =>
+ {
+ pre => sub {
+ $intf->{ippp0} ||= { DEVICE => "ippp0" }; # we want the ifcfg-ippp0 file to be written
+ @isdn_dial_methods = ({ name => N("Automatically at boot"),
+ ONBOOT => 1, DIAL_ON_BOOT => 1 },
+ { name => N("By using Net Applet in the system tray"),
+ ONBOOT => 0, DIAL_ON_BOOT => 1 },
+ { name => N("Manually (the interface would still be activated at boot)"),
+ ONBOOT => 1, DIAL_ON_BOOT => 0 });
+ my $method = find {
+ $_->{ONBOOT} eq text2bool($intf->{ippp0}{ONBOOT}) and
+ $_->{DIAL_ON_BOOT} eq text2bool($intf->{ippp0}{DIAL_ON_BOOT})
+ } @isdn_dial_methods;
+ #- use net_applet by default
+ $isdn->{dial_method} = $method->{name} || $isdn_dial_methods[1]->{name};
+ },
+ name => N("How do you to dial this connection ?"),
+ data => sub {
+ [ { type => "list", val => \$isdn->{dial_method}, list => [ map { $_->{name} } @isdn_dial_methods ] } ]
+ },
+ post => sub {
+ my $method = find { $_->{name} eq $isdn->{dial_method} } @isdn_dial_methods;
+ $intf->{ippp0}{$_} = bool2yesno($method->{$_}) foreach qw(ONBOOT DIAL_ON_BOOT);
+ return $after_start_on_boot_step->();
+ },
+ },
+
restart =>
{
name => N("The network needs to be restarted. Do you want to restart it ?"),