mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2025-05-08 16:50:12 +03:00
Pull request: all: imp uniq validation err msgs
Updates #3975. Squashed commit of the following: commit f8578c2afb1bb5786e7b855a1715e0757bc08510 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Tue Dec 28 16:39:13 2021 +0300 aghalgo: imp docs commit d9fc625f7c4ede2cf4b0683ad5efd0ddf9b966b1 Author: Ainar Garipov <A.Garipov@AdGuard.COM> Date: Tue Dec 28 16:21:24 2021 +0300 all: imp uniq validation err msgs
This commit is contained in:
parent
2ed1f939b5
commit
d2ce06e1ca
10 changed files with 166 additions and 128 deletions
internal/home
|
@ -1,11 +1,13 @@
|
|||
package home
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/aghalgo"
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/dhcpd"
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/dnsforward"
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/filtering"
|
||||
|
@ -286,22 +288,25 @@ func parseConfig() (err error) {
|
|||
return err
|
||||
}
|
||||
|
||||
pm := portsMap{}
|
||||
pm.add(
|
||||
uv := aghalgo.UniquenessValidator{}
|
||||
addPorts(
|
||||
uv,
|
||||
config.BindPort,
|
||||
config.BetaBindPort,
|
||||
config.DNS.Port,
|
||||
)
|
||||
|
||||
if config.TLS.Enabled {
|
||||
pm.add(
|
||||
addPorts(
|
||||
uv,
|
||||
config.TLS.PortHTTPS,
|
||||
config.TLS.PortDNSOverTLS,
|
||||
config.TLS.PortDNSOverQUIC,
|
||||
config.TLS.PortDNSCrypt,
|
||||
)
|
||||
}
|
||||
if err = pm.validate(); err != nil {
|
||||
return err
|
||||
if err = uv.Validate(aghalgo.IntIsBefore); err != nil {
|
||||
return fmt.Errorf("validating ports: %w", err)
|
||||
}
|
||||
|
||||
if !checkFiltersUpdateIntervalHours(config.DNS.FiltersUpdateIntervalHours) {
|
||||
|
@ -315,6 +320,15 @@ func parseConfig() (err error) {
|
|||
return nil
|
||||
}
|
||||
|
||||
// addPorts is a helper for ports validation. It skips zero ports.
|
||||
func addPorts(uv aghalgo.UniquenessValidator, ports ...int) {
|
||||
for _, p := range ports {
|
||||
if p != 0 {
|
||||
uv.Add(p)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// readConfigFile reads configuration file contents.
|
||||
func readConfigFile() (fileData []byte, err error) {
|
||||
if len(config.fileData) > 0 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue