X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Fdnsmasq%2Ffiles%2Fdnsmasq.init;h=9795d1aef89ca2730d809e57b975261576d3c2c3;hp=fb118d5756a907a924ab8b7d5801549596b6ef5f;hb=a5b424ffb3cc8a9cb5b788b4580b4c05e49e9c5e;hpb=259ed0dac62b4881cab73d66faf9b68b5de8154b diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index fb118d5756..9795d1aef8 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -107,6 +107,10 @@ append_bogusnxdomain() { xappend "--bogus-nxdomain=$1" } +append_pxe_service() { + xappend "--pxe-service=$1" +} + dnsmasq() { local cfg="$1" append_bool "$cfg" authoritative "--dhcp-authoritative" @@ -124,6 +128,7 @@ dnsmasq() { append_bool "$cfg" boguspriv "--bogus-priv" append_bool "$cfg" expandhosts "--expand-hosts" append_bool "$cfg" enable_tftp "--enable-tftp" + append_bool "$cfg" tftp_no_fail "--tftp-no-fail" append_bool "$cfg" nonwildcard "--bind-interfaces" append_bool "$cfg" fqdn "--dhcp-fqdn" append_bool "$cfg" proxydnssec "--proxy-dnssec" @@ -151,7 +156,8 @@ dnsmasq() { append_parm "$cfg" "tftp_root" "--tftp-root" append_parm "$cfg" "dhcp_boot" "--dhcp-boot" append_parm "$cfg" "local_ttl" "--local-ttl" - + append_parm "$cfg" "pxe_prompt" "--pxe-prompt" + config_list_foreach "$cfg" "pxe_service" append_pxe_service config_get DOMAIN "$cfg" domain config_get_bool ADD_LOCAL_DOMAIN "$cfg" add_local_domain 1 @@ -542,13 +548,22 @@ start_service() { config_load dhcp procd_open_instance - procd_set_param command $PROG -C $CONFIGFILE -k + procd_set_param command $PROG -C $CONFIGFILE -k -x /var/run/dnsmasq/dnsmasq.pid procd_set_param file $CONFIGFILE procd_set_param respawn + + procd_add_jail dnsmasq ubus log + procd_add_jail_mount $CONFIGFILE $TRUSTANCHORSFILE $HOSTFILE /etc/passwd /dev/urandom /etc/dnsmasq.conf /tmp/dnsmasq.d /tmp/resolv.conf.auto /etc/hosts /etc/ethers + procd_add_jail_mount_rw /var/run/dnsmasq/ /tmp/dhcp.leases + procd_close_instance # before we can call xappend + mkdir -p /var/run/dnsmasq/ mkdir -p $(dirname $CONFIGFILE) + mkdir -p /var/lib/misc + touch /tmp/dhcp.leases + echo "# auto-generated config file from /etc/config/dhcp" > $CONFIGFILE echo "# auto-generated config file from /etc/config/dhcp" > $HOSTFILE