base-files: add add_dns() and remove_dns() helpers to network config, useful to merge dns entries from multiple interfaces
SVN-Revision: 21391
This commit is contained in:
parent
dcbb5a19e7
commit
be41fdd01a
1 changed files with 29 additions and 0 deletions
|
@ -66,6 +66,35 @@ add_vlan() {
|
|||
return 1
|
||||
}
|
||||
|
||||
# add dns entries if they are not in resolv.conf yet
|
||||
add_dns() {
|
||||
local cfg="$1"; shift
|
||||
|
||||
local dns
|
||||
local add
|
||||
for dns in "$@"; do
|
||||
grep -qsF "nameserver $dns" /tmp/resolv.conf.auto || {
|
||||
add="${add:+$add }$dns"
|
||||
echo "nameserver $dns" >> /tmp/resolv.conf.auto
|
||||
}
|
||||
done
|
||||
|
||||
uci_set_state network "$cfg" dns "$add"
|
||||
}
|
||||
|
||||
# remove dns entries of the given iface
|
||||
remove_dns() {
|
||||
local cfg="$1"
|
||||
|
||||
local dns
|
||||
config_get dns "$cfg" dns
|
||||
for dns in $dns; do
|
||||
sed -i -e "/^nameserver $dns$/d" /tmp/resolv.conf.auto
|
||||
done
|
||||
|
||||
uci_revert_state network "$cfg" dns
|
||||
}
|
||||
|
||||
# sort the device list, drop duplicates
|
||||
sort_list() {
|
||||
local arg="$*"
|
||||
|
|
Loading…
Reference in a new issue