mirror of
https://github.com/outbackdingo/labca.git
synced 2026-01-27 10:19:34 +00:00
42 lines
1.8 KiB
Diff
42 lines
1.8 KiB
Diff
diff --git a/cmd/boulder-va/main.go b/cmd/boulder-va/main.go
|
|
index 8994b9b20..a0f0f9aa6 100644
|
|
--- a/cmd/boulder-va/main.go
|
|
+++ b/cmd/boulder-va/main.go
|
|
@@ -27,8 +27,9 @@ type Config struct {
|
|
// before giving up. May be short-circuited by deadlines. A zero value
|
|
// will be turned into 1.
|
|
DNSTries int
|
|
- DNSResolver string `validate:"required_without=DNSProvider,excluded_with=DNSProvider,omitempty,hostname|hostname_port"`
|
|
- DNSProvider *cmd.DNSProvider `validate:"required_without=DNSResolver,excluded_with=DNSResolver,omitempty"`
|
|
+ DNSResolver string `validate:"omitempty,hostname|hostname_port"`
|
|
+ DNSResolvers []string
|
|
+ DNSProvider *cmd.DNSProvider `validate:"omitempty"`
|
|
DNSTimeout config.Duration `validate:"required"`
|
|
DNSAllowLoopbackAddresses bool
|
|
|
|
@@ -87,7 +88,7 @@ func main() {
|
|
cmd.Fail("Cannot specify both 'dnsResolver' and dnsProvider")
|
|
}
|
|
|
|
- if c.VA.DNSResolver == "" && c.VA.DNSProvider == nil {
|
|
+ if c.VA.DNSResolver == "" && c.VA.DNSProvider == nil && len(c.VA.DNSResolvers) == 0 {
|
|
cmd.Fail("Must specify either 'dnsResolver' or dnsProvider")
|
|
}
|
|
|
|
@@ -100,8 +101,13 @@ func main() {
|
|
}
|
|
|
|
var servers bdns.ServerProvider
|
|
- servers, err = bdns.StartDynamicProvider(c.VA.DNSProvider, 60*time.Second)
|
|
- cmd.FailOnError(err, "Couldn't start dynamic DNS server resolver")
|
|
+ if len(c.VA.DNSResolvers) > 0 {
|
|
+ servers, err = bdns.NewStaticProvider(c.VA.DNSResolvers)
|
|
+ cmd.FailOnError(err, "Couldn't parse static DNS server(s)")
|
|
+ } else {
|
|
+ servers, err = bdns.StartDynamicProvider(c.VA.DNSProvider, 60*time.Second)
|
|
+ cmd.FailOnError(err, "Couldn't start dynamic DNS server resolver")
|
|
+ }
|
|
defer servers.Stop()
|
|
|
|
var resolver bdns.Client
|