summaryrefslogtreecommitdiff
path: root/scripts/system/vyatta_update_resolv.pl
diff options
context:
space:
mode:
authorAlex Harpin <development@landsofshadow.co.uk>2015-02-14 13:35:27 +0000
committerAlex Harpin <development@landsofshadow.co.uk>2015-02-14 13:45:51 +0000
commit6648f37a5895f259de2068504520f64f225c1899 (patch)
tree67ceb087a3fee1fe707eab8e5cf02b243568218d /scripts/system/vyatta_update_resolv.pl
parent24c99255b867e48ae3369a23f866951e8607fbbe (diff)
downloadvyatta-cfg-system-6648f37a5895f259de2068504520f64f225c1899.tar.gz
vyatta-cfg-system-6648f37a5895f259de2068504520f64f225c1899.zip
vyatta-cfg-system: remove blank domain search and expand comment type
Tighten the checks for configured search domains to exclude adding unnecessary blank domains and expand the comments added to /etc/resolv.conf to indicate the source of the search domains. Bug #486 http://bugzilla.vyos.net/show_bug.cgi?id=486
Diffstat (limited to 'scripts/system/vyatta_update_resolv.pl')
-rwxr-xr-xscripts/system/vyatta_update_resolv.pl18
1 files changed, 14 insertions, 4 deletions
diff --git a/scripts/system/vyatta_update_resolv.pl b/scripts/system/vyatta_update_resolv.pl
index 4c54cfce..0dfa4bec 100755
--- a/scripts/system/vyatta_update_resolv.pl
+++ b/scripts/system/vyatta_update_resolv.pl
@@ -68,11 +68,14 @@ if ($dhclient_script == 0 && @search_domains > 0 && $domain_name && length($doma
}
my $search_domain_list = '';
+my $search_includes_system = 0;
+
foreach my $domain (@search_domains) {
if (length($search_domain_list) > 0) {
$search_domain_list .= ' ';
}
$search_domain_list .= $domain;
+ $search_includes_system = 1;
}
# add domain searches received from the dhcp client to those already in /etc/resolv.conf, as long as domain-name is not set in the CLI
@@ -90,7 +93,10 @@ if (!defined($domain_name)) {
my @dhcp_domains = split(/\s+/, $search_string, 2);
my $dhcp_domain = $dhcp_domains[1];
chomp $dhcp_domain;
- $search_domain_list .= ' ' . $dhcp_domain;
+ if (length($search_domain_list) > 0) {
+ $search_domain_list .= ' ';
+ }
+ $search_domain_list .= $dhcp_domain;
$search_includes_dhcp = 1;
}
}
@@ -100,10 +106,14 @@ if (!defined($domain_name)) {
my $search = '';
if (length($search_domain_list) > 0) {
my $source;
- if ($search_includes_dhcp == 1) {
- $source = "(system + dhcp)";
+ if ($search_includes_system == 1) {
+ if ($search_includes_dhcp == 1) {
+ $source = "(system + dhcp)";
+ } else {
+ $source = "(system)";
+ }
} else {
- $source = "(system)";
+ $source = "(dhcp)";
}
$search = "#line generated by vyatta_update_resolv.pl $source\nsearch\t\t$search_domain_list\n";
}