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_PROTO:=git
PKG_SOURCE_URL=$(LEDE_GIT)/project/odhcpd.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_SOURCE_VERSION:=f0bce9cdd0f2d0e21e0d64cb7b653521d18040e2
PKG_MIRROR_HASH:=64260b5d2a5d25a14eb5257e1722335fa0f376d644513efce1962453d77d50d5 PKG_MIRROR_HASH:=c008f339eca7ff24158535ed4be2319164b5f970e06f64fce18ef772358b44a8
PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com> PKG_MAINTAINER:=Hans Dedecker <dedeckeh@gmail.com>
PKG_LICENSE:=GPL-2.0 PKG_LICENSE:=GPL-2.0

View file

@ -2,13 +2,28 @@
uci -q get dhcp.odhcpd && exit 0 uci -q get dhcp.odhcpd && exit 0
touch /etc/config/dhcp 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 uci batch <<EOF
set dhcp.odhcpd=odhcpd set dhcp.odhcpd=odhcpd
set dhcp.odhcpd.maindhcp=0 set dhcp.odhcpd.maindhcp=0
set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
set dhcp.odhcpd.loglevel=4 set dhcp.odhcpd.loglevel=4
set dhcp.lan.dhcpv6=server set dhcp.lan.dhcpv6=$MODE
set dhcp.lan.ra=server set dhcp.lan.ra=$MODE
commit dhcp commit dhcp
EOF EOF