[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