diff --git a/main.go b/main.go index a813738..a37ba54 100644 --- a/main.go +++ b/main.go @@ -102,6 +102,21 @@ func octetsRaw(ip string) ([]string, error) { return parts, nil } +func getenv(k, d string) string { + if v := os.Getenv(k); v != "" { + return v + } + return d +} + +func enabled(k string, def bool) bool { + b, err := strconv.ParseBool(strings.ToLower(os.Getenv(k))) + if err != nil { + return def + } + return b +} + func DhcpHelperFunc(xHostname string, xDUIDs []string, xIAIDs []uint32) []payloadHelper { /*IPv4*/ Ipv4Octets, _ := octetsRaw(defaultIP) @@ -317,7 +332,7 @@ func uint32ToIP(u uint32) net.IP { // --------------------------------------------------------------------------- func initConfigAndTemplates() { // ULA prefix --------------------------------- - ulaPrefix = os.Getenv("ULA_PREFIX") + ulaPrefix = getenv("ULA_PREFIX", "fd12:3456:789A:BCDE::") if ulaPrefix == "" { ulaPrefix = defaultPrefix } @@ -330,8 +345,8 @@ func initConfigAndTemplates() { } // DNS defaults -------------------------------- - dns1 = os.Getenv("DNS1") - dns2 = os.Getenv("DNS2") + dns1 = getenv("DNS1", "fd12:3456:789A:BCDE::ac10:a") + dns2 = getenv("DNS2", "fd12:3456:789A:BCDE::ac10:b") if dns1 == "" { dns1 = strings.Replace(ulaPrefix, "::", "::53", 1) } @@ -340,7 +355,7 @@ func initConfigAndTemplates() { } // Placeholder IP ------------------------------ - pageIP = os.Getenv("FORM_DEFAULT_IP") + pageIP = getenv("FORM_DEFAULT_IP", "172.16.0.0") if pageIP == "" { pageIP = defaultIP }