From 89c3926ba502e7e91afd001f4fbc1ec16b40cf67 Mon Sep 17 00:00:00 2001 From: Simon Zolin Date: Tue, 4 Aug 2020 14:18:35 +0300 Subject: [PATCH] * dhcp: fail on startup if couldn't initialize DHCP module --- dhcpd/dhcpd.go | 5 +++++ home/home.go | 3 +++ 2 files changed, 8 insertions(+) diff --git a/dhcpd/dhcpd.go b/dhcpd/dhcpd.go index 11937eb1..f6e19d5a 100644 --- a/dhcpd/dhcpd.go +++ b/dhcpd/dhcpd.go @@ -119,6 +119,11 @@ func Create(config ServerConfig) *Server { return nil } + if s.conf.Enabled && !v4conf.Enabled && !v6conf.Enabled { + log.Error("Can't enable DHCP server because neither DHCPv4 nor DHCPv6 servers are configured") + return nil + } + // we can't delay database loading until DHCP server is started, // because we need static leases functionality available beforehand s.dbLoad() diff --git a/home/home.go b/home/home.go index 4482b6b2..b9d7a760 100644 --- a/home/home.go +++ b/home/home.go @@ -221,6 +221,9 @@ func run(args options) { config.DHCP.ConfigModified = onConfigModified if runtime.GOOS != "windows" { Context.dhcpServer = dhcpd.Create(config.DHCP) + if Context.dhcpServer == nil { + log.Fatalf("Can't initialize DHCP module") + } } Context.autoHosts.Init("")