aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/odhcpd
diff options
context:
space:
mode:
authorKarl Palsson <karlp@etactica.com>2017-09-01 11:22:11 +0000
committerHans Dedecker <dedeckeh@gmail.com>2017-09-16 09:37:50 +0200
commitae57675bba5bcb0192a68ef26df912a5d08ceccc (patch)
tree0262ba4cb7efa2857e730d66bfca6dcd37eac53a /package/network/services/odhcpd
parent9c500db89680af5d89fb679e08452c8f090d804d (diff)
downloadupstream-ae57675bba5bcb0192a68ef26df912a5d08ceccc.tar.gz
upstream-ae57675bba5bcb0192a68ef26df912a5d08ceccc.tar.bz2
upstream-ae57675bba5bcb0192a68ef26df912a5d08ceccc.zip
odhcpd: don't enable server mode on non-static lan port
Instead of blindly enabling the odhcpd v6 server and RA server on the lan port, only do that if the lan port protocol is "static" This prevents the unhelpful case of a device being a dhcpv4 client and v6 server on the same ethernet port. Signed-off-by: Karl Palsson <karlp@etactica.com> [PKG_SOURCE_DATE increase; odhcpd.defaults script cleanup] Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'package/network/services/odhcpd')
-rw-r--r--package/network/services/odhcpd/Makefile4
-rw-r--r--package/network/services/odhcpd/files/odhcpd.defaults19
2 files changed, 19 insertions, 4 deletions
diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile
index b620a71203..dc81f261a4 100644
--- a/package/network/services/odhcpd/Makefile
+++ b/package/network/services/odhcpd/Makefile
@@ -12,9 +12,9 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.git
-PKG_SOURCE_DATE:=2017-09-13
+PKG_SOURCE_DATE:=2017-09-16
PKG_SOURCE_VERSION:=f0bce9cdd0f2d0e21e0d64cb7b653521d18040e2
-PKG_MIRROR_HASH:=64260b5d2a5d25a14eb5257e1722335fa0f376d644513efce1962453d77d50d5
+PKG_MIRROR_HASH:=c008f339eca7ff24158535ed4be2319164b5f970e06f64fce18ef772358b44a8
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0
diff --git a/package/network/services/odhcpd/files/odhcpd.defaults b/package/network/services/odhcpd/files/odhcpd.defaults
index e184da90ac..cecbdd4a8d 100644
--- a/package/network/services/odhcpd/files/odhcpd.defaults
+++ b/package/network/services/odhcpd/files/odhcpd.defaults
@@ -2,13 +2,28 @@
uci -q get dhcp.odhcpd && exit 0
touch /etc/config/dhcp
+. /usr/share/libubox/jshn.sh
+
+json_load "$(cat /etc/board.json)"
+json_select network
+json_select lan
+json_get_vars protocol
+json_select ..
+json_select ..
+
+case "$protocol" in
+# only enable server mode on statically addressed lan ports
+"static") MODE=server ;;
+*) MODE=disabled ;;
+esac
+
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.odhcpd.loglevel=4
-set dhcp.lan.dhcpv6=server
-set dhcp.lan.ra=server
+set dhcp.lan.dhcpv6=$MODE
+set dhcp.lan.ra=$MODE
commit dhcp
EOF