odhcpd: don't enable server mode on non-static lan port
authorKarl Palsson <karlp@etactica.com>
Fri, 1 Sep 2017 11:22:11 +0000 (11:22 +0000)
committerHans Dedecker <dedeckeh@gmail.com>
Sat, 16 Sep 2017 07:37:50 +0000 (09:37 +0200)
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>
package/network/services/odhcpd/Makefile
package/network/services/odhcpd/files/odhcpd.defaults

index b620a712037a803f7e49a87c30165a7462889b2c..dc81f261a44437a50e59ff497dd8b65e68b785a4 100644 (file)
@@ -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
index e184da90acbb060a36ffe0cde9df241002344618..cecbdd4a8d71523873022a6f6f1d1c849a72a371 100644 (file)
@@ -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