fix panic in `injectSANMatcher` when `tlsContext` is `nil` (#17185)
This commit is contained in:
parent
e1cff98a8f
commit
47a7e52098
|
@ -0,0 +1,3 @@
|
||||||
|
```release-note:bug
|
||||||
|
xds: Fix possible panic that can when generating clusters before the root certificates have been fetched.
|
||||||
|
```
|
|
@ -1427,6 +1427,10 @@ func (s *ResourceGenerator) makeExportedUpstreamClustersForMeshGateway(cfgSnap *
|
||||||
|
|
||||||
// injectSANMatcher updates a TLS context so that it verifies the upstream SAN.
|
// injectSANMatcher updates a TLS context so that it verifies the upstream SAN.
|
||||||
func injectSANMatcher(tlsContext *envoy_tls_v3.CommonTlsContext, matchStrings ...string) error {
|
func injectSANMatcher(tlsContext *envoy_tls_v3.CommonTlsContext, matchStrings ...string) error {
|
||||||
|
if tlsContext == nil {
|
||||||
|
return fmt.Errorf("invalid type: expected CommonTlsContext_ValidationContext not to be nil")
|
||||||
|
}
|
||||||
|
|
||||||
validationCtx, ok := tlsContext.ValidationContextType.(*envoy_tls_v3.CommonTlsContext_ValidationContext)
|
validationCtx, ok := tlsContext.ValidationContextType.(*envoy_tls_v3.CommonTlsContext_ValidationContext)
|
||||||
if !ok {
|
if !ok {
|
||||||
return fmt.Errorf("invalid type: expected CommonTlsContext_ValidationContext, got %T",
|
return fmt.Errorf("invalid type: expected CommonTlsContext_ValidationContext, got %T",
|
||||||
|
|
Loading…
Reference in New Issue