Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 14, 05:15 UTC
httpcaddyfile: Update tls parsing for DNS providers
Matthew Holt committed
May 1, 2020 at 10:41 UTC
a77bd1d8877fbbc8828e464a8c600e5a8aeb9aee
1 file changed
+10
-3
caddyconfig/httpcaddyfile/builtins.go
+10
-3
@@ -205,19 +205,26 @@ func parseTLS(h Helper) ([]ConfigValue, error) {
205
if !h.Next() {
206
return nil, h.ArgErr()
207
}
208
+ provName := h.Val()
209
if acmeIssuer == nil {
210
acmeIssuer = new(caddytls.ACMEIssuer)
211
}
211
- provName := h.Val()
212
if acmeIssuer.Challenges == nil {
213
acmeIssuer.Challenges = new(caddytls.ChallengesConfig)
214
acmeIssuer.Challenges.DNS = new(caddytls.DNSChallengeConfig)
215
}
216
- dnsProvModule, err := caddy.GetModule("tls.dns." + provName)
216
+ dnsProvModule, err := caddy.GetModule("dns.providers." + provName)
217
if err != nil {
218
return nil, h.Errf("getting DNS provider module named '%s': %v", provName, err)
219
}
220
- acmeIssuer.Challenges.DNS.ProviderRaw = caddyconfig.JSONModuleObject(dnsProvModule.New(), "name", provName, h.warnings)
220
+ dnsProvModuleInstance := dnsProvModule.New()
221
+ if unm, ok := dnsProvModuleInstance.(caddyfile.Unmarshaler); ok {
222
+ err = unm.UnmarshalCaddyfile(h.NewFromNextSegment())
223
+ if err != nil {
224
+ return nil, err
225
+ }
226
+ }
227
+ acmeIssuer.Challenges.DNS.ProviderRaw = caddyconfig.JSONModuleObject(dnsProvModuleInstance, "name", provName, h.warnings)
228
229
case "ca_root":
230
arg := h.RemainingArgs()