[source] odhcpd: don't enable server mode on non-static lan port
LEDE Commits
lede-commits at lists.infradead.org
Mon Oct 2 09:52:33 PDT 2017
dedeckeh pushed a commit to source.git, branch lede-17.01:
https://git.lede-project.org/783465d783b17a66b37e6dd7db732244e30e6913
commit 783465d783b17a66b37e6dd7db732244e30e6913
Author: Karl Palsson <karlp at etactica.com>
AuthorDate: Fri Sep 1 11:22:11 2017 +0000
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 at etactica.com>
[PKG_SOURCE_DATE increase; odhcpd.defaults script cleanup]
Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
---
package/network/services/odhcpd/Makefile | 2 +-
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
More information about the lede-commits
mailing list