Browse Source

httpcaddyfile: Update tls parsing for DNS providers

master
Matthew Holt 5 years ago
parent
commit
a77bd1d887
No known key found for this signature in database GPG Key ID: 2A349DD577D586A5
  1. 13
      caddyconfig/httpcaddyfile/builtins.go

13
caddyconfig/httpcaddyfile/builtins.go

@ -205,19 +205,26 @@ func parseTLS(h Helper) ([]ConfigValue, error) {
if !h.Next() { if !h.Next() {
return nil, h.ArgErr() return nil, h.ArgErr()
} }
provName := h.Val()
if acmeIssuer == nil { if acmeIssuer == nil {
acmeIssuer = new(caddytls.ACMEIssuer) acmeIssuer = new(caddytls.ACMEIssuer)
} }
provName := h.Val()
if acmeIssuer.Challenges == nil { if acmeIssuer.Challenges == nil {
acmeIssuer.Challenges = new(caddytls.ChallengesConfig) acmeIssuer.Challenges = new(caddytls.ChallengesConfig)
acmeIssuer.Challenges.DNS = new(caddytls.DNSChallengeConfig) acmeIssuer.Challenges.DNS = new(caddytls.DNSChallengeConfig)
} }
dnsProvModule, err := caddy.GetModule("tls.dns." + provName) dnsProvModule, err := caddy.GetModule("dns.providers." + provName)
if err != nil { if err != nil {
return nil, h.Errf("getting DNS provider module named '%s': %v", provName, err) return nil, h.Errf("getting DNS provider module named '%s': %v", provName, err)
} }
acmeIssuer.Challenges.DNS.ProviderRaw = caddyconfig.JSONModuleObject(dnsProvModule.New(), "name", provName, h.warnings) dnsProvModuleInstance := dnsProvModule.New()
if unm, ok := dnsProvModuleInstance.(caddyfile.Unmarshaler); ok {
err = unm.UnmarshalCaddyfile(h.NewFromNextSegment())
if err != nil {
return nil, err
}
}
acmeIssuer.Challenges.DNS.ProviderRaw = caddyconfig.JSONModuleObject(dnsProvModuleInstance, "name", provName, h.warnings)
case "ca_root": case "ca_root":
arg := h.RemainingArgs() arg := h.RemainingArgs()

Loading…
Cancel
Save