37 lines
703 B
Bash
Executable File
37 lines
703 B
Bash
Executable File
#!/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
|
|
}
|