|
|
@@ -13,6 +13,7 @@ ADD_LOCAL_DOMAIN=1
|
|
|
ADD_LOCAL_HOSTNAME=1
|
|
|
|
|
|
CONFIGFILE="/var/etc/dnsmasq.conf"
|
|
|
+CONFIGFILE_TMP="/var/etc/dnsmasq.conf.$$"
|
|
|
HOSTFILE="/tmp/hosts/dhcp"
|
|
|
TRUSTANCHORSFILE="/usr/share/dnsmasq/trust-anchors.conf"
|
|
|
TIMESTAMPFILE="/etc/dnsmasq.time"
|
|
|
@@ -21,7 +22,7 @@ TIMEVALIDFILE="/var/state/dnsmasqsec"
|
|
|
xappend() {
|
|
|
local value="$1"
|
|
|
|
|
|
- echo "${value#--}" >> $CONFIGFILE
|
|
|
+ echo "${value#--}" >> $CONFIGFILE_TMP
|
|
|
}
|
|
|
|
|
|
hex_to_hostid() {
|
|
|
@@ -255,7 +256,7 @@ dnsmasq() {
|
|
|
xappend "--user=dnsmasq"
|
|
|
xappend "--group=dnsmasq"
|
|
|
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
|
|
|
config_get_bool enable_tftp "$cfg" enable_tftp 0
|
|
|
[ "$enable_tftp" -gt 0 ] && {
|
|
|
@@ -635,7 +636,7 @@ start_service() {
|
|
|
|
|
|
[ -f "$TIMESTAMPFILE" ] && rm -f "$TIMESTAMPFILE"
|
|
|
|
|
|
- echo "# auto-generated config file from /etc/config/dhcp" > $CONFIGFILE
|
|
|
+ echo "# auto-generated config file from /etc/config/dhcp" > $CONFIGFILE_TMP
|
|
|
echo "# auto-generated config file from /etc/config/dhcp" > $HOSTFILE
|
|
|
|
|
|
# if we did this last, we could override auto-generated config
|
|
|
@@ -648,7 +649,7 @@ start_service() {
|
|
|
args=""
|
|
|
config_foreach dnsmasq dnsmasq
|
|
|
config_foreach dhcp_host_add host
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
config_foreach dhcp_boot_add boot
|
|
|
config_foreach dhcp_mac_add mac
|
|
|
config_foreach dhcp_tag_add tag
|
|
|
@@ -682,19 +683,20 @@ start_service() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
config_foreach dhcp_srv_add srvhost
|
|
|
config_foreach dhcp_mx_add mxhost
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
|
|
|
config_get odhcpd_is_active odhcpd maindhcp
|
|
|
if [ "$odhcpd_is_active" != "1" ]; then
|
|
|
config_foreach dhcp_add dhcp
|
|
|
fi
|
|
|
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
config_foreach dhcp_cname_add cname
|
|
|
- echo >> $CONFIGFILE
|
|
|
+ echo >> $CONFIGFILE_TMP
|
|
|
+ mv -f $CONFIGFILE_TMP $CONFIGFILE
|
|
|
|
|
|
rm -f /tmp/resolv.conf
|
|
|
[ $ADD_LOCAL_DOMAIN -eq 1 ] && [ -n "$DOMAIN" ] && {
|