aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-05-03 11:21:26 +0000
committerRoy Marples <roy@marples.name>2007-05-03 11:21:26 +0000
commite5a82d5fe658d8c607e10604536ba67bb347b2ae (patch)
tree071a15ded532102227397d80a1341ffa9008e439
parentb4a3796b018d44ff9beecb8903ed1996a4f4a9f5 (diff)
dns_sortlist and dns_options now work as documented, #175367.
-rw-r--r--ChangeLog4
-rw-r--r--conf.d.BSD/net.example6
-rw-r--r--conf.d.Linux/net.example1
-rw-r--r--net/system.sh17
4 files changed, 19 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f9f9d98..95e6c60c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for Gentoo System Intialization ("rc") scripts
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2
+ 03 May 2007; Roy Marples <uberlord@gentoo.org>:
+
+ dns_sortlist and dns_options now work as documented, #175367.
+
02 May 2007; Roy Marples <uberlord@gentoo.org>:
SSD_NICELEVEL can now affect the nicelevel for daemons started
diff --git a/conf.d.BSD/net.example b/conf.d.BSD/net.example
index 2d80c873..4acee47a 100644
--- a/conf.d.BSD/net.example
+++ b/conf.d.BSD/net.example
@@ -345,12 +345,8 @@
# For configuring system specifics such as domain, dns, ntp and nis servers
# It's rare that you would need todo this, but you can anyway.
# This is most benefit to wireless users who don't use DHCP so they can change
-# their configs based on SSID. See above for more details
+# their configs based on SSID.
-# Setting name/domain server causes /etc/resolv.conf to be overwritten
-# Note that if DHCP is used, and you want this to take precedence then
-# set dhcp_SSID="nodns"
-# To use dns settings such as these, dns_servers_eth0 must be set!
# If you omit the _eth0 suffix, then it applies to all interfaces unless
# overridden by the interface suffix.
#dns_domain_eth0="your.domain"
diff --git a/conf.d.Linux/net.example b/conf.d.Linux/net.example
index 6934d6c1..7725f489 100644
--- a/conf.d.Linux/net.example
+++ b/conf.d.Linux/net.example
@@ -867,7 +867,6 @@
# This is most benefit to wireless users who don't use DHCP so they can change
# their configs based on SSID.
-# To use dns settings such as these, dns_servers_eth0 must be set!
# If you omit the _eth0 suffix, then it applies to all interfaces unless
# overridden by the interface suffix.
#dns_domain_eth0="your.domain"
diff --git a/net/system.sh b/net/system.sh
index 68abc7fe..0d168982 100644
--- a/net/system.sh
+++ b/net/system.sh
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
_config_vars="$_config_vars dns_servers dns_domain dns_search"
+_config_vars="$_config_vars dns_sortlist dns_options"
_config_vars="$_config_vars ntp_servers nis_servers nis_domain"
system_depend() {
@@ -10,7 +11,7 @@ system_depend() {
}
_system_dns() {
- local servers= domain= search= x=
+ local servers= domain= search= sortlist= options= x=
eval servers=\$dns_servers_${IFVAR}
[ -z "${servers}" ] && servers=${dns_servers}
@@ -20,8 +21,15 @@ _system_dns() {
eval search=\$dns_search_${IFVAR}
[ -z "${search}" ] && search=${dns_search}
-
- [ -z "${servers}" -a -z "${domain}" -a -z "${search}" ] && return 0
+
+ eval sortlist=\$dns_sortlist_${IFVAR}
+ [ -z "${sortlist}" ] && sortlist=${dns_sortlist}
+
+ eval options=\$dns_options_${IFVAR}
+ [ -z "${options}" ] && options=${dns_options}
+
+ [ -z "${servers}" -a -z "${domain}" -a -z "${search}" \
+ -a -z "${sortlist}" -a -z "${options}" ] && return 0
local buffer="# Generated by net-scripts for interface ${IFACE}\n"
[ -n "${domain}" ] && buffer="${buffer}domain ${domain}\n"
@@ -31,6 +39,9 @@ _system_dns() {
buffer="${buffer}nameserver ${x}\n"
done
+ [ -n "${sortlist}" ] && buffer="${buffer}sortlist ${sortlist}\n"
+ [ -n "${options}" ] && buffer="${buffer}options ${options}\n"
+
# Support resolvconf if we have it.
if [ -x /sbin/resolvconf ] ; then
printf "${buffer}" | resolvconf -a "${IFACE}"