From 3f211d3cc2a8b068b18c7809fc3cbf88f8eebcb2 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Fri, 23 Jun 2023 10:32:19 +0700 Subject: [PATCH] cmd/ctrld: remove firerouter_dns dependency in systemd unit on firewalla On firewalla, firerouter_dns is a shell script, which forks dnsmasq processes. At the end of ctrld stopping process, ctrld attempts to restart firerouter_dns. The systemd v237 on firewalla somehow hangs, because ctrld depends on firerouter_dns, but attempts to restart it before ctrld stopping. However, thing in firewalla is ephemeral, so after reboot, ctrld is re-installed at the end of boot process. Thus, ctrld don't have to depend on any services. --- cmd/ctrld/prog_linux.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cmd/ctrld/prog_linux.go b/cmd/ctrld/prog_linux.go index 86d4caa..08cbfbf 100644 --- a/cmd/ctrld/prog_linux.go +++ b/cmd/ctrld/prog_linux.go @@ -33,13 +33,6 @@ func setDependencies(svc *service.Config) { svc.Dependencies = append(svc.Dependencies, "Wants=dnsmasq.service") svc.Dependencies = append(svc.Dependencies, "After=dnsmasq.service") } - // On Firewalla, ctrld needs to start after firerouter_{dhcp,dns}, so it can read leases file. - if router.Name() == router.Firewalla { - svc.Dependencies = append(svc.Dependencies, "Wants=firerouter_dhcp.service") - svc.Dependencies = append(svc.Dependencies, "After=firerouter_dhcp.service") - svc.Dependencies = append(svc.Dependencies, "Wants=firerouter_dns.service") - svc.Dependencies = append(svc.Dependencies, "After=firerouter_dns.service") - } } func setWorkingDirectory(svc *service.Config, dir string) {