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
	 Jens Langhammer
					Jens Langhammer