diff options
Diffstat (limited to 'perl-install/network')
-rw-r--r-- | perl-install/network/network.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/perl-install/network/network.pm b/perl-install/network/network.pm index f843c25e7..75dcedf8d 100644 --- a/perl-install/network/network.pm +++ b/perl-install/network/network.pm @@ -91,16 +91,20 @@ sub write_resolv_conf { my (%search, %dns, @unknown); local *F; open F, $file; local $_; + my $options; while (<F>) { + if (/^[\s]*(options\s+[^#]*).*$/) { $options = $1; $options =~ s/timeout:\d+/timeout:1/; next } /^[#\s]*search\s+(.*?)\s*$/ and $search{$1} = $., next; /^[#\s]*nameserver\s+(.*?)\s*$/ and $dns{$1} = $., next; /^.*# ppp temp entry\s*$/ and next; /^[#\s]*(\S.*?)\s*$/ and push @unknown, $1; } + $options ||= "options timeout:1"; close F; open F, ">$file" or die "cannot write $file: $!"; print F "# search $_\n" foreach grep { $_ ne "$netc->{DOMAINNAME} $netc->{DOMAINNAME2}" } sort { $search{$a} <=> $search{$b} } keys %search; - print F "search $netc->{DOMAINNAME} $netc->{DOMAINNAME2}\n\n" if ($netc->{DOMAINNAME} || $netc->{DOMAINNAME2}); + print F "search $netc->{DOMAINNAME} $netc->{DOMAINNAME2}\n" if ($netc->{DOMAINNAME} || $netc->{DOMAINNAME2}); + print F "$options\n\n"; print F "# nameserver $_\n" foreach grep { ! exists $used_dns{$_} } sort { $dns{$a} <=> $dns{$b} } keys %dns; print F "nameserver $_\n" foreach sort { $used_dns{$a} <=> $used_dns{$b} } grep { $_ } keys %used_dns; print F "\n"; |