diff options
author | Karl Palsson <karlp@etactica.com> | 2017-09-01 11:22:11 +0000 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2017-10-02 18:51:17 +0200 |
commit | 783465d783b17a66b37e6dd7db732244e30e6913 (patch) | |
tree | a78981816ab61b541bcae677b218bd0983d29f43 /package | |
parent | c92c1894a53e034661bd4790328ca2ae764581e2 (diff) | |
download | mtk-20170518-783465d783b17a66b37e6dd7db732244e30e6913.zip mtk-20170518-783465d783b17a66b37e6dd7db732244e30e6913.tar.gz mtk-20170518-783465d783b17a66b37e6dd7db732244e30e6913.tar.bz2 |
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')
-rw-r--r-- | package/network/services/odhcpd/Makefile | 2 | ||||
-rw-r--r-- | package/network/services/odhcpd/files/odhcpd.defaults | 19 |
2 files changed, 18 insertions, 3 deletions
diff --git a/package/network/services/odhcpd/Makefile b/package/network/services/odhcpd/Makefile index ba8d9fd..5ba9e7c 100644 --- a/package/network/services/odhcpd/Makefile +++ b/package/network/services/odhcpd/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=odhcpd -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.git diff --git a/package/network/services/odhcpd/files/odhcpd.defaults b/package/network/services/odhcpd/files/odhcpd.defaults index d079ec0..175e56e 100644 --- a/package/network/services/odhcpd/files/odhcpd.defaults +++ b/package/network/services/odhcpd/files/odhcpd.defaults @@ -2,12 +2,27 @@ 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.lan.dhcpv6=server -set dhcp.lan.ra=server +set dhcp.lan.dhcpv6=$MODE +set dhcp.lan.ra=$MODE commit dhcp EOF |