From 3161708c83a46d247c81b7681fd6a64f3c4a1310 Mon Sep 17 00:00:00 2001 From: damien Date: Tue, 29 Aug 2000 17:06:05 +0000 Subject: see changelog. --- perl-install/ChangeLog | 6 ++ perl-install/any.pm | 119 +++++++++++++++++++++++++++++ perl-install/install_steps.pm | 120 +----------------------------- perl-install/install_steps_interactive.pm | 35 +-------- 4 files changed, 128 insertions(+), 152 deletions(-) diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog index c585fac31..7b728cf6c 100644 --- a/perl-install/ChangeLog +++ b/perl-install/ChangeLog @@ -1,3 +1,9 @@ +2000-08-29 dam's + + * moved pppConfig in netconnect.pm and any.pm + * moved miscellaneousNetwork in any + * modem configuration is now useable in standalone mode. + 2000-08-29 David BAUDENS * install_steps_interactive.pm: change Small/Normal/Full -> diff --git a/perl-install/any.pm b/perl-install/any.pm index 7be45a54b..60bec7159 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -281,5 +281,124 @@ sub inspect { $h; } +#-----modem conf +sub pppConfig { + my ($o) = @_; + $o->{modem} or return; + + symlinkf($o->{modem}{device}, "$o->{prefix}/dev/modem") or log::l("creation of $o->{prefix}/dev/modem failed"); + $::isStandalone ? `urpmi --auto ppp` : $o->pkg_install("ppp") unless $::testing; + + my %toreplace; + $toreplace{$_} = $o->{modem}{$_} foreach qw(connection phone login passwd auth domain dns1 dns2); + $toreplace{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, 'CHAP' => 3, }}{$o->{modem}{auth}}; + $toreplace{phone} =~ s/\D//g; + $toreplace{dnsserver} = join ',', map { $o->{modem}{$_} } "dns1", "dns2"; + $toreplace{dnsserver} .= $toreplace{dnsserver} && ','; + + #- using peerdns or dns1,dns2 avoid writing a /etc/resolv.conf file. + $toreplace{peerdns} = "yes"; + + $toreplace{connection} ||= 'DialupConnection'; + $toreplace{domain} ||= 'localdomain'; + $toreplace{intf} ||= 'ppp0'; + $toreplace{papname} = $o->{modem}{auth} eq 'PAP' && $toreplace{login}; + + #- build ifcfg-ppp0. + my $ifcfg = "$o->{prefix}/etc/sysconfig/network-scripts/ifcfg-ppp0"; + local *IFCFG; open IFCFG, ">$ifcfg" or die "Can't open $ifcfg"; + print IFCFG <$chat" or die "Can't open $chat"; + print CHAT <{modem}{auth} eq 'Terminal-based' || $o->{modem}{auth} eq 'Script-based') { + print CHAT <{modem}{auth} eq 'PAP') { + #- need to create a secrets file for the connection. + my $secrets = "$o->{prefix}/etc/ppp/" . lc($o->{modem}{auth}) . "-secrets"; + my @l = cat_($secrets); + my $replaced = 0; + do { $replaced ||= 1 + if s/^\s*"?$toreplace{login}"?\s+ppp0\s+(\S+)/"$toreplace{login}" ppp0 "$toreplace{passwd}"/; } foreach @l; + if ($replaced) { + local *F; + open F, ">$secrets" or die "Can't open $secrets: $!"; + print F @l; + } else { + local *F; + open F, ">>$secrets" or die "Can't open $secrets: $!"; + print F "$toreplace{login} ppp0 \"$toreplace{passwd}\"\n"; + } + #- restore access right to secrets file, just in case. + chmod 0600, $secrets; + } #- CHAP is not supported by initscripts, need patching before doing more on that here! + + #-install_any::template2userfile($o->{prefix}, "$ENV{SHARE_PATH}/kppprc.in", ".kde/share/config/kppprc", 1, %toreplace); + commands::mkdir_("-p", "$o->{prefix}/usr/share/config"); + template2file("$ENV{SHARE_PATH}/kppprc.in", "$o->{prefix}/usr/share/config/kppprc", %toreplace); + + miscellaneousNetwork($o); +} + +sub miscellaneousNetwork { + my ($o) = @_; + setVarsInSh ("$o->{prefix}/etc/profile.d/proxy.sh", $o->{miscellaneous}, qw(http_proxy ftp_proxy)); + setVarsInCsh("$o->{prefix}/etc/profile.d/proxy.csh", $o->{miscellaneous}, qw(http_proxy ftp_proxy)); +} + 1; diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index b8e4d07c6..36e80e7f1 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -491,121 +491,10 @@ sub configureNetwork($) { $o->pkg_install("pump") if grep { $_->{BOOTPROTO} =~ /^(pump|bootp)$/ } @{$o->{intf}}; #-res_init(); #- reinit the resolver so DNS changes take affect - miscellaneousNetwork($o); + any::miscellaneousNetwork($o); } #------------------------------------------------------------------------------ -sub pppConfig { - my ($o) = @_; - $o->{modem} or return; - - symlinkf($o->{modem}{device}, "$o->{prefix}/dev/modem") or log::l("creation of $o->{prefix}/dev/modem failed"); - $o->pkg_install("ppp") unless $::testing; - - my %toreplace; - $toreplace{$_} = $o->{modem}{$_} foreach qw(connection phone login passwd auth domain dns1 dns2); - $toreplace{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, 'CHAP' => 3, }}{$o->{modem}{auth}}; - $toreplace{phone} =~ s/\D//g; - $toreplace{dnsserver} = join ',', map { $o->{modem}{$_} } "dns1", "dns2"; - $toreplace{dnsserver} .= $toreplace{dnsserver} && ','; - - #- using peerdns or dns1,dns2 avoid writing a /etc/resolv.conf file. - $toreplace{peerdns} = "yes"; - - $toreplace{connection} ||= 'DialupConnection'; - $toreplace{domain} ||= 'localdomain'; - $toreplace{intf} ||= 'ppp0'; - $toreplace{papname} = $o->{modem}{auth} eq 'PAP' && $toreplace{login}; - - #- build ifcfg-ppp0. - my $ifcfg = "$o->{prefix}/etc/sysconfig/network-scripts/ifcfg-ppp0"; - local *IFCFG; open IFCFG, ">$ifcfg" or die "Can't open $ifcfg"; - print IFCFG <$chat" or die "Can't open $chat"; - print CHAT <{modem}{auth} eq 'Terminal-based' || $o->{modem}{auth} eq 'Script-based') { - print CHAT <{modem}{auth} eq 'PAP') { - #- need to create a secrets file for the connection. - my $secrets = "$o->{prefix}/etc/ppp/" . lc($o->{modem}{auth}) . "-secrets"; - my @l = cat_($secrets); - my $replaced = 0; - do { $replaced ||= 1 - if s/^\s*"?$toreplace{login}"?\s+ppp0\s+(\S+)/"$toreplace{login}" ppp0 "$toreplace{passwd}"/; } foreach @l; - if ($replaced) { - local *F; - open F, ">$secrets" or die "Can't open $secrets: $!"; - print F @l; - } else { - local *F; - open F, ">>$secrets" or die "Can't open $secrets: $!"; - print F "$toreplace{login} ppp0 \"$toreplace{passwd}\"\n"; - } - #- restore access right to secrets file, just in case. - chmod 0600, $secrets; - } #- CHAP is not supported by initscripts, need patching before doing more on that here! - - #-install_any::template2userfile($o->{prefix}, "$ENV{SHARE_PATH}/kppprc.in", ".kde/share/config/kppprc", 1, %toreplace); - commands::mkdir_("-p", "$o->{prefix}/usr/share/config"); - template2file("$ENV{SHARE_PATH}/kppprc.in", "$o->{prefix}/usr/share/config/kppprc", %toreplace); - - miscellaneousNetwork($o); -} #------------------------------------------------------------------------------ sub installCrypto { @@ -885,12 +774,7 @@ sub configureXAfter { } #------------------------------------------------------------------------------ -sub miscellaneousNetwork { - my ($o) = @_; - setVarsInSh ("$o->{prefix}/etc/profile.d/proxy.sh", $o->{miscellaneous}, qw(http_proxy ftp_proxy)); - setVarsInCsh("$o->{prefix}/etc/profile.d/proxy.csh", $o->{miscellaneous}, qw(http_proxy ftp_proxy)); -} - +# miscellaneousNetwork moved to any #------------------------------------------------------------------------------ sub miscellaneous { my ($o) = @_; diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm index a5c22274e..2a0593834 100644 --- a/perl-install/install_steps_interactive.pm +++ b/perl-install/install_steps_interactive.pm @@ -564,40 +564,7 @@ You may also enter the IP address of the gateway if you have one"), } #------------------------------------------------------------------------------ -sub pppConfig { - my ($o) = @_; - my $m = $o->{modem} ||= {}; - - unless ($m->{device} || $::expert && !$o->ask_yesorno('', _("Try to find a modem?"), 1)) { - eval { modules::load("serial"); }; - detect_devices::probeSerialDevices(); - foreach (0..3) { - next if $o->{mouse}{device} =~ /ttyS$_/; - detect_devices::hasModem("/dev/ttyS$_") and $m->{device} = "ttyS$_", last; - } - } - - $m->{device} ||= $o->set_help('selectSerialPort') && - $o->ask_from_listf('', _("Please choose which serial port your modem is connected to."), - \&mouse::serial_port2text, - [ grep { $_ ne $o->{mouse}{device} } mouse::serial_ports ]); - - $o->set_help('configureNetworkISP'); - install_steps::pppConfig($o) if $o->ask_from_entries_refH('', - _("Dialup options"), [ -_("Connection name") => \$m->{connection}, -_("Phone number") => \$m->{phone}, -_("Login ID") => \$m->{login}, -_("Password") => { val => \$m->{passwd}, hidden => 1 }, -_("Authentication") => { val => \$m->{auth}, list => [ __("PAP"), __("CHAP"), __("Terminal-based"), __("Script-based") ] }, -_("Domain name") => \$m->{domain}, -#-$::expert ? ( #- It is not apropriate to remove DNS as kppp need them! only available for "ifup ppp0" -_("First DNS Server") => \$m->{dns1}, -_("Second DNS Server") => \$m->{dns2}, -#-) : (), - ]); -} - +#-pppConfig moved to any.pm #------------------------------------------------------------------------------ sub installCrypto { my ($o) = @_; -- cgit v1.2.1