aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/odhcpd/files
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/odhcpd/files')
-rwxr-xr-xpackage/network/services/odhcpd/files/odhcpd-update5
-rw-r--r--package/network/services/odhcpd/files/odhcpd.defaults13
-rw-r--r--package/network/services/odhcpd/files/odhcpd.init18
3 files changed, 36 insertions, 0 deletions
diff --git a/package/network/services/odhcpd/files/odhcpd-update b/package/network/services/odhcpd/files/odhcpd-update
new file mode 100755
index 0000000..e17cd0b
--- /dev/null
+++ b/package/network/services/odhcpd/files/odhcpd-update
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Make dnsmasq reread hostfile
+
+pid=$(pidof dnsmasq)
+[ "$(readlink /proc/$pid/exe)" = "/usr/sbin/dnsmasq" ] && kill -SIGHUP $pid
diff --git a/package/network/services/odhcpd/files/odhcpd.defaults b/package/network/services/odhcpd/files/odhcpd.defaults
new file mode 100644
index 0000000..d079ec0
--- /dev/null
+++ b/package/network/services/odhcpd/files/odhcpd.defaults
@@ -0,0 +1,13 @@
+#!/bin/sh
+uci -q get dhcp.odhcpd && exit 0
+touch /etc/config/dhcp
+
+uci batch <<EOF
+set dhcp.odhcpd=odhcpd
+set dhcp.odhcpd.maindhcp=0
+set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
+set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
+set dhcp.lan.dhcpv6=server
+set dhcp.lan.ra=server
+commit dhcp
+EOF
diff --git a/package/network/services/odhcpd/files/odhcpd.init b/package/network/services/odhcpd/files/odhcpd.init
new file mode 100644
index 0000000..c8a3114
--- /dev/null
+++ b/package/network/services/odhcpd/files/odhcpd.init
@@ -0,0 +1,18 @@
+#!/bin/sh /etc/rc.common
+
+START=35
+STOP=85
+USE_PROCD=1
+
+start_service() {
+ procd_open_instance
+ procd_set_param command /usr/sbin/odhcpd
+ procd_set_param respawn
+ procd_close_instance
+}
+
+service_triggers()
+{
+ procd_add_reload_trigger "dhcp"
+}
+