summaryrefslogtreecommitdiffstats
path: root/perl-install/network/adsl.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/network/adsl.pm')
-rw-r--r--perl-install/network/adsl.pm239
1 files changed, 0 insertions, 239 deletions
diff --git a/perl-install/network/adsl.pm b/perl-install/network/adsl.pm
deleted file mode 100644
index 37f3520e5..000000000
--- a/perl-install/network/adsl.pm
+++ /dev/null
@@ -1,239 +0,0 @@
-package network::adsl; # $Id$
-
-use common;
-use run_program;
-use network::tools;
-use network::ethernet;
-use modules;
-use vars qw(@ISA @EXPORT);
-use MDK::Common::Globals "network", qw($in $prefix);
-
-@ISA = qw(Exporter);
-@EXPORT = qw(adsl_ask_info adsl_detect adsl_conf adsl_conf_backend);
-
-sub configure {
- my ($netcnx, $netc, $intf, $first_time) = @_;
-# $::isInstall and $in->set_help('configureNetworkADSL');
-
- conf_adsl_step1:
- my $l = [ N_("use pppoe"),
- N_("use pptp"),
- N_("use dhcp"),
- N_("Alcatel speedtouch usb") . if_($netc->{autodetect}{adsl}{speedtouch}, " - detected"),
- N_("Sagem (using pppoe) usb") . if_($netc->{autodetect}{adsl}{sagem}, " - detected"),
- ];
- my $type = $in->ask_from_list_(N("Connect to the Internet"),
- N("The most common way to connect with adsl is pppoe.
-Some connections use pptp, a few use dhcp.
-If you don't know, choose 'use pppoe'"), $l) or return;
- $type =~ s/use //;
- if ($type eq 'pppoe') {
- $in->do_pkgs->install("rp-$type");
- $netcnx->{type} = "adsl_$type";
- adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
- }
- if ($type eq 'dhcp') {
- $in->do_pkgs->install(qw(dhcpcd));
- go_ethernet($netc, $intf, 'dhcp', '', '', $first_time) or goto conf_adsl_step1;
- }
- if ($type eq 'pptp') {
- $in->do_pkgs->install(qw(pptp-adsl));
- $netcnx->{type} = "adsl_$type";
- $netcnx->{"adsl_$type"} = {};
- adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
- }
- if ($type =~ /Sagem/) {
- $type = 'sagem';
- $in->do_pkgs->install(qw(adiusbadsl));
- $netcnx->{type} = "adsl_$type";
- $netcnx->{"adsl_$type"} = {};
- adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
- }
- if ($type =~ /speedtouch/) {
- $type = 'speedtouch';
- $in->do_pkgs->install(qw(speedtouch));
- $netcnx->{type} = "adsl_$type";
- $netcnx->{"adsl_$type"} = {};
- $netcnx->{"adsl_$type"}{vpivci} = '';
- adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
- }
- # if ($type =~ /ECI/) {
-# $type = 'eci';
-# $in->do_pkgs->install(qw(eciadsl));
-# $netcnx->{type} = "adsl_$type";
-# $netcnx->{"adsl_$type"} = {};
-# $netcnx->{"adsl_$type"}{vpivci} = '';
-# adsl_conf($netcnx->{"adsl_$type"}, $netc, $intf, $type) or goto conf_adsl_step1;
-# }
- $type =~ /speedtouch|eci/ or $netconnect::need_restart_network = 1;
- 1;
-}
-
-sub adsl_ask_info {
- my ($adsl, $netc, $_intf, $adsl_type) = @_;
- my $pppoe_file = "/etc/ppp/pppoe.conf";
- my $pppoe_conf = { getVarsFromSh($pppoe_file) } if $adsl_type =~ /pppoe/ && -f $pppoe_file;
- $pppoe_conf->{DNS1} ||= '';
- $pppoe_conf->{DNS2} ||= '';
- add2hash($netc, { dnsServer2 => $pppoe_conf->{DNS1}, dnsServer3 => $pppoe_conf->{DNS2}, DOMAINNAME2 => '' });
- add2hash($adsl, { login => $pppoe_conf->{USER}, passwd => passwd_by_login($pppoe_conf->{USER}), passwd2 => '' });
- ask_info2($adsl, $netc);
-}
-
-sub adsl_detect {
- my ($adsl) = @_;
- require detect_devices;
- $adsl->{speedtouch} = detect_devices::getSpeedtouch();
- $adsl->{sagem} = detect_devices::getSagem();
- return $adsl if $adsl->{speedtouch} || $adsl->{sagem};
-}
-
-sub adsl_conf {
- my ($adsl, $netc, $intf, $adsl_type) = @_;
-
- adsl_conf_step_1:
- adsl_ask_info($adsl, $netc, $intf, $adsl_type) or return;
- adsl_conf_step_2:
- $adsl_type =~ /speedtouch|eci/ or conf_network_card($netc, $intf, 'static', '10.0.0.10') or goto adsl_conf_step_1;
- adsl_conf_backend($adsl, $netc, $adsl_type);
- 1;
-}
-
-sub adsl_conf_backend {
- my ($adsl, $netc, $adsl_type, $netcnx) = @_;
- defined $netcnx and $netc->{adsltype} = $netcnx->{type};
- $netc->{adsltype} ||= "adsl_$adsl_type";
- mkdir_p("$prefix/etc/ppp");
- output("$prefix/etc/ppp/options",
-'lock
-noipdefault
-persist
-noauth
-usepeerdns
-defaultroute
-') if $adsl_type =~ /pptp|pppoe|speedtouch|eci/;
-
- write_secret_backend($adsl->{login}, $adsl->{passwd});
-
- if ($adsl_type eq 'pppoe') {
- substInFile {
- s/ETH=.*\n/ETH=$netc->{NET_DEVICE}\n/;
- s/USER=.*\n/USER=$adsl->{login}\n/;
- s/DNS1=.*\n/DNS1=$netc->{dnsServer2}\n/;
- s/DNS2=.*\n/DNS2=$netc->{dnsServer3}\n/;
- } "$prefix/etc/ppp/pppoe.conf";
- }
-
- if ($adsl_type eq 'sagem') {
- output("$prefix/etc/ppp/peers/adsl",
-qq(noauth
-noipdefault
-pty "/usr/sbin/pppoa -I `/usr/sbin/adictrl -s; /usr/sbin/adictrl -i`"
-sync
-kdebug 1
-noaccomp
-nopcomp
-noccp
-novj
-holdoff 4
-maxfail 25
-persist
-usepeerdns
-defaultroute
-user "$adsl->{login}"
-));
- }
-
- if ($adsl_type eq 'speedtouch') {
- $netc->{vpivci} =~ /(\d+)_(\d+)/;
- output("$prefix/etc/ppp/peers/adsl",
-qq(noauth
-noipdefault
-pty "/usr/sbin/pppoa3 -c -vpi $1 -vci $2"
-sync
-kdebug 1
-noaccomp
-nopcomp
-noccp
-novj
-holdoff 4
-maxfail 25
-persist
-usepeerdns
-defaultroute
-user "$adsl->{login}"
-));
- modules::add_alias($_->[0], $_->[1]) foreach ['char-major-108', 'ppp_generic'],
- ['tty-ldisc-3', 'ppp_async'],
- ['tty-ldisc-13', 'n_hdlc'],
- ['tty-ldisc-14', 'ppp_synctty'],
- ['ppp-compress-21', 'bsd_comp'],
- ['ppp-compress-24', 'ppp_deflate'],
- ['ppp-compress-26', 'ppp_deflate'];
- $::isStandalone and modules::write_conf($prefix);
- $in->do_pkgs->what_provides("speedtouch_mgmt") and $in->do_pkgs->install('speedtouch_mgmt');
- -e "$prefix/usr/share/speedtouch/mgmt.o" or $in->ask_warn('', N("You need the alcatel microcode.
-Download it at
-http://www.speedtouchdsl.com/dvrreg_lx.htm
-and copy the mgmt.o in /usr/share/speedtouch"));
- }
-
- if ($adsl_type eq 'eci') {
- $netc->{vpivci} =~ /(\d+)_(\d+)/;
- output("$prefix/etc/ppp/peers/adsl",
-qq(debug
-kdebug 1
-noipdefault
-defaultroute
-pty "/usr/bin/pppoeci -v 1 -vpi $1 -vci $2"
-sync
-noaccomp
-nopcomp
-noccp
-novj
-holdoff 10
-user "$adsl->{login}"
-linkname eciadsl
-maxfail 10
-usepeerdns
-noauth
-lcp-echo-interval 0
-));
- modules::add_alias($_->[0], $_->[1]) foreach ['char-major-108', 'ppp_generic'],
- ['tty-ldisc-14', 'ppp_synctty'],
- ['tty-ldisc-13', 'n_hdlc'];
- $::isStandalone and modules::write_conf($prefix);
- }
-
- if ($adsl_type eq 'pptp') {
- write_cnx_script($netc, "adsl",
-"/sbin/route del default
-/usr/bin/pptp 10.0.0.138 name $adsl->{login}
-",
-'/usr/bin/killall pptp pppd
-', $netc->{adsltype}) } elsif ($adsl_type eq 'pppoe') {
- write_cnx_script($netc, "adsl",
-"/sbin/route del default
-LC_ALL=C LANG=C LANGUAGE=C LC_MESSAGES=C /usr/sbin/adsl-start $netc->{NET_DEVICE} $adsl->{login}
-",
-'/usr/sbin/adsl-stop
-/usr/bin/killall pppoe pppd
-', $netc->{adsltype}) } elsif ($adsl_type eq 'speedtouch') {
- write_cnx_script($netc, 'adsl',
-'/sbin/route del default
-/usr/share/speedtouch/speedtouch.sh start
-',
-'/usr/share/speedtouch/speedtouch.sh stop
-', $netc->{adsltype}) } elsif ($adsl_type eq 'eci') {
- write_cnx_script($netc, 'adsl',
-'/sbin/route del default
-/usr/bin/startmodem
-',
-"# et pour le stop on se touche c'est du beta...
-echo 'not yet implemented, still beta software'
-", $netc->{adsltype}) }
-
- $netc->{NET_INTERFACE} = 'ppp0';
-}
-
-1;