mirror of
https://codeberg.org/Codeberg/pages-server.git
synced 2025-04-24 22:06:57 +00:00
handle integrationTest cert missmatch
This commit is contained in:
parent
1f0b708927
commit
d8595cee88
2 changed files with 16 additions and 1 deletions
|
@ -59,7 +59,9 @@ func toCert(name string, c *certificate.Resource) (*Cert, error) {
|
||||||
name = "*" + name
|
name = "*" + name
|
||||||
}
|
}
|
||||||
if name != c.Domain {
|
if name != c.Domain {
|
||||||
return nil, fmt.Errorf("domain key and cert domain not equal")
|
err := fmt.Errorf("domain key '%s' and cert domain '%s' not equal", name, c.Domain)
|
||||||
|
log.Error().Err(err).Msg("toCert conversion did discover mismatch")
|
||||||
|
// TODO: fail hard: return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &Cert{
|
return &Cert{
|
||||||
|
|
|
@ -51,6 +51,8 @@ func (x xDB) Close() error {
|
||||||
|
|
||||||
func (x xDB) Put(domain string, cert *certificate.Resource) error {
|
func (x xDB) Put(domain string, cert *certificate.Resource) error {
|
||||||
log.Trace().Str("domain", cert.Domain).Msg("inserting cert to db")
|
log.Trace().Str("domain", cert.Domain).Msg("inserting cert to db")
|
||||||
|
|
||||||
|
domain = integrationTestReplacements(domain)
|
||||||
c, err := toCert(domain, cert)
|
c, err := toCert(domain, cert)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -80,6 +82,7 @@ func (x xDB) Get(domain string) (*certificate.Resource, error) {
|
||||||
if domain[:1] == "." {
|
if domain[:1] == "." {
|
||||||
domain = "*" + domain
|
domain = "*" + domain
|
||||||
}
|
}
|
||||||
|
domain = integrationTestReplacements(domain)
|
||||||
|
|
||||||
cert := new(Cert)
|
cert := new(Cert)
|
||||||
log.Trace().Str("domain", domain).Msg("get cert from db")
|
log.Trace().Str("domain", domain).Msg("get cert from db")
|
||||||
|
@ -96,6 +99,7 @@ func (x xDB) Delete(domain string) error {
|
||||||
if domain[:1] == "." {
|
if domain[:1] == "." {
|
||||||
domain = "*" + domain
|
domain = "*" + domain
|
||||||
}
|
}
|
||||||
|
domain = integrationTestReplacements(domain)
|
||||||
|
|
||||||
log.Trace().Str("domain", domain).Msg("delete cert from db")
|
log.Trace().Str("domain", domain).Msg("delete cert from db")
|
||||||
_, err := x.engine.ID(domain).Delete(new(Cert))
|
_, err := x.engine.ID(domain).Delete(new(Cert))
|
||||||
|
@ -140,3 +144,12 @@ func supportedDriver(driver string) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// integrationTestReplacements is needed because integration tests use a single domain cert,
|
||||||
|
// while production use a wildcard cert
|
||||||
|
func integrationTestReplacements(domainKey string) string {
|
||||||
|
if domainKey == "*.localhost.mock.directory" {
|
||||||
|
return "localhost.mock.directory"
|
||||||
|
}
|
||||||
|
return domainKey
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue