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>
This commit is contained in:
Karl Palsson 2017-09-01 11:22:11 +00:00 committed by Hans Dedecker
parent 9c500db896
commit ae57675bba
2 changed files with 19 additions and 4 deletions

View 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

View 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