outposts/ldap: use configured certificate for LDAPS when all providers' certificates are identical
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
@ -15,6 +15,7 @@ func (ls *LDAPServer) getCertificates(info *tls.ClientHelloInfo) (*tls.Certifica
|
||||
return ls.providers[0].cert, nil
|
||||
}
|
||||
}
|
||||
allIdenticalCerts := true
|
||||
for _, provider := range ls.providers {
|
||||
if provider.tlsServerName == &info.ServerName {
|
||||
if provider.cert == nil {
|
||||
@ -23,6 +24,13 @@ func (ls *LDAPServer) getCertificates(info *tls.ClientHelloInfo) (*tls.Certifica
|
||||
}
|
||||
return provider.cert, nil
|
||||
}
|
||||
if provider.certUUID != ls.providers[0].certUUID {
|
||||
allIdenticalCerts = false
|
||||
}
|
||||
}
|
||||
if allIdenticalCerts {
|
||||
ls.log.WithField("server-name", info.ServerName).Debug("all providers have the same keypair, using keypair")
|
||||
return ls.providers[0].cert, nil
|
||||
}
|
||||
ls.log.WithField("server-name", info.ServerName).Debug("Fallback to default cert")
|
||||
return ls.defaultCert, nil
|
||||
|
||||
Reference in New Issue
Block a user