all: add support for EdgeOS

This commit is contained in:
Cuong Manh Le
2023-05-25 22:05:39 +07:00
committed by Cuong Manh Le
parent ee53db1e35
commit 54e63ccf9b
7 changed files with 194 additions and 33 deletions
+4 -1
View File
@@ -175,7 +175,10 @@ func (p *prog) setDNS() {
switch router.Name() {
case router.DDWrt, router.OpenWrt, router.Ubios:
// On router, ctrld run as a DNS forwarder, it does not have to change system DNS.
// Except for Merlin/Tomato, which has WAN DNS setup on boot for NTP.
// Except for:
// + EdgeOS, which /etc/resolv.conf could be managed by vyatta_update_resolv.pl script.
// + Merlin/Tomato, which has WAN DNS setup on boot for NTP.
// + Synology, which /etc/resolv.conf is not configured to point to localhost.
return
}
if cfg.Listener == nil || cfg.Listener["0"] == nil {
+9
View File
@@ -2,6 +2,8 @@ package main
import (
"github.com/kardianos/service"
"github.com/Control-D-Inc/ctrld/internal/router"
)
func (p *prog) preRun() {
@@ -17,6 +19,13 @@ func setDependencies(svc *service.Config) {
"Wants=NetworkManager-wait-online.service",
"After=NetworkManager-wait-online.service",
}
// On EdeOS, ctrld needs to start after vyatta-dhcpd, so it can read leases file.
if router.Name() == router.EdgeOS {
svc.Dependencies = append(svc.Dependencies, "Wants=vyatta-dhcpd.service")
svc.Dependencies = append(svc.Dependencies, "After=vyatta-dhcpd.service")
svc.Dependencies = append(svc.Dependencies, "Wants=dnsmasq.service")
svc.Dependencies = append(svc.Dependencies, "After=dnsmasq.service")
}
}
func setWorkingDirectory(svc *service.Config, dir string) {