Update CertificateProviderInstance passing to include certificate name
diff --git a/src/core/ext/xds/xds_api.cc b/src/core/ext/xds/xds_api.cc
index 3182676..6335bac 100644
--- a/src/core/ext/xds/xds_api.cc
+++ b/src/core/ext/xds/xds_api.cc
@@ -1383,6 +1383,19 @@
return GRPC_ERROR_NONE;
}
+XdsApi::CommonTlsContext::CertificateProviderInstance
+CertificateProviderInstanceParse(
+ const envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_CertificateProviderInstance*
+ certificate_provider_instance_proto) {
+ return {
+ UpbStringToStdString(
+ envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_CertificateProviderInstance_instance_name(
+ certificate_provider_instance_proto)),
+ UpbStringToStdString(
+ envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_CertificateProviderInstance_certificate_name(
+ certificate_provider_instance_proto))};
+}
+
grpc_error* CommonTlsContextParse(
const envoy_extensions_transport_sockets_tls_v3_CommonTlsContext*
common_tls_context_proto,
@@ -1452,19 +1465,18 @@
combined_validation_context);
if (validation_context_certificate_provider_instance != nullptr) {
common_tls_context->combined_validation_context
- .validation_context_certificate_provider_instance = UpbStringToStdString(
- envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_CertificateProviderInstance_instance_name(
- validation_context_certificate_provider_instance));
+ .validation_context_certificate_provider_instance =
+ CertificateProviderInstanceParse(
+ validation_context_certificate_provider_instance);
}
}
auto* tls_certificate_certificate_provider_instance =
envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_tls_certificate_certificate_provider_instance(
common_tls_context_proto);
if (tls_certificate_certificate_provider_instance != nullptr) {
- common_tls_context
- ->tls_certificate_certificate_provider_instance = UpbStringToStdString(
- envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_CertificateProviderInstance_instance_name(
- tls_certificate_certificate_provider_instance));
+ common_tls_context->tls_certificate_certificate_provider_instance =
+ CertificateProviderInstanceParse(
+ tls_certificate_certificate_provider_instance);
}
return GRPC_ERROR_NONE;
}
diff --git a/src/core/ext/xds/xds_api.h b/src/core/ext/xds/xds_api.h
index cc13c6a..8e7b1f2 100644
--- a/src/core/ext/xds/xds_api.h
+++ b/src/core/ext/xds/xds_api.h
@@ -198,9 +198,20 @@
}
};
+ struct CertificateProviderInstance {
+ std::string instance_name;
+ std::string certificate_name;
+
+ bool operator==(const CertificateProviderInstance& other) const {
+ return instance_name == other.instance_name &&
+ certificate_name == other.certificate_name;
+ }
+ };
+
struct CombinedCertificateValidationContext {
CertificateValidationContext default_validation_context;
- std::string validation_context_certificate_provider_instance;
+ CertificateProviderInstance
+ validation_context_certificate_provider_instance;
bool operator==(const CombinedCertificateValidationContext& other) const {
return default_validation_context == other.default_validation_context &&
@@ -209,7 +220,7 @@
}
};
- std::string tls_certificate_certificate_provider_instance;
+ CertificateProviderInstance tls_certificate_certificate_provider_instance;
CombinedCertificateValidationContext combined_validation_context;
bool operator==(const CommonTlsContext& other) const {