37 lines
703 B
Plaintext
37 lines
703 B
Plaintext
|
#!/bin/sh /etc/rc.common
|
||
|
START=59
|
||
|
|
||
|
apply_host() {
|
||
|
local cfg="$1"
|
||
|
|
||
|
config_get hostname "$cfg" hostname
|
||
|
config_get ipaddr "$cfg" ipaddr
|
||
|
|
||
|
[ -n "$hostname" -a -n "$ipaddr" ] || return 0
|
||
|
|
||
|
echo "$ipaddr $hostname" >> /var/etc/hosts
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
if [ ! -L /etc/hosts ]; then
|
||
|
test -f /etc/hosts && mv /etc/hosts /etc/hosts.local
|
||
|
ln -s /var/etc/hosts /etc/hosts
|
||
|
fi
|
||
|
|
||
|
echo "# This file is autogenerated, use /etc/hosts.local instead" > /var/etc/hosts
|
||
|
|
||
|
test -d /var/etc || mkdir -p /var/etc
|
||
|
test -f /etc/hosts.local && cat /etc/hosts.local >> /var/etc/hosts
|
||
|
|
||
|
config_load luci_hosts
|
||
|
config_foreach apply_host host
|
||
|
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
stop() {
|
||
|
test -f /var/etc/hosts && rm -f /var/etc/hosts
|
||
|
|
||
|
return 0
|
||
|
}
|