Browse Source

httpcaddyfile: Fix tls certificate loader module names (#2748)

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

2
caddyconfig/httpcaddyfile/httptype.go

@ -183,7 +183,7 @@ func (st ServerType) Setup(originalServerBlocks []caddyfile.ServerBlock,
if clVals, ok := sblock.pile["tls.certificate_loader"]; ok {
for _, clVal := range clVals {
loader := clVal.Value.(caddytls.CertificateLoader)
loaderName := caddy.GetModuleName(loader)
loaderName := caddy.GetModuleID(loader)
tlsApp.Certificates[loaderName] = caddyconfig.JSON(loader, &warnings)
}
}

11
modules.go

@ -126,6 +126,17 @@ func GetModuleName(instance interface{}) string {
return name
}
// GetModuleID returns a module's ID (the last element of its name)
// from an instance of its value. If the value is not a module,
// an empty string will be returned.
func GetModuleID(instance interface{}) string {
var name string
if mod, ok := instance.(Module); ok {
name = mod.CaddyModule().ID()
}
return name
}
// GetModules returns all modules in the given scope/namespace.
// For example, a scope of "foo" returns modules named "foo.bar",
// "foo.loo", but not "bar", "foo.bar.loo", etc. An empty scope

Loading…
Cancel
Save