dnsmasq: peacefully coexist with ISC DHCPd
authorDaniel Golle <daniel@makrotopia.org>
Wed, 5 Apr 2017 18:31:01 +0000 (20:31 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 8 Apr 2017 15:11:54 +0000 (17:11 +0200)
Similar to odhcpd, allow using ISC DHCPd instead of dnsmasq.
Disable DHCP and/or DHCP6 in case ISC DHCP is present and
enabled.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/network/services/dnsmasq/files/dnsmasq.init

index 5f69be7..83553f1 100644 (file)
@@ -720,6 +720,15 @@ dnsmasq_start()
                DNSMASQ_DHCP_VER=4
        fi
 
                DNSMASQ_DHCP_VER=4
        fi
 
+       # Allow DHCP/DHCPv6 to be handled by ISC DHCPD
+       if [ -x /usr/sbin/dhcpd ] ; then
+               if [ -x /etc/init.d/dhcpd ] ; then
+                       /etc/init.d/dhcpd enabled && DNSMASQ_DHCP_VER=0
+               fi
+               if [ -x /etc/init.d/dhcpd6 -a "$DNSMASQ_DHCP_VER" -gt 0 ] ; then
+                       /etc/init.d/dhcpd6 enabled && DNSMASQ_DHCP_VER=4
+               fi
+       fi
 
        append_bool "$cfg" authoritative "--dhcp-authoritative"
        append_bool "$cfg" nodaemon "--no-daemon"
 
        append_bool "$cfg" authoritative "--dhcp-authoritative"
        append_bool "$cfg" nodaemon "--no-daemon"