@marcel91200 / caddy Mirror · read-only / commits / a77bd1d8
Fork 0

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()