aboutsummaryrefslogtreecommitdiff
path: root/src/core/ext/xds/xds_common_types.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ext/xds/xds_common_types.cc')
-rw-r--r--src/core/ext/xds/xds_common_types.cc25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/core/ext/xds/xds_common_types.cc b/src/core/ext/xds/xds_common_types.cc
index 73985d1725..d91e19d569 100644
--- a/src/core/ext/xds/xds_common_types.cc
+++ b/src/core/ext/xds/xds_common_types.cc
@@ -22,7 +22,6 @@
#include <stdint.h>
#include <algorithm>
-#include <initializer_list>
#include <map>
#include <utility>
@@ -39,10 +38,9 @@
#include "google/protobuf/struct.upb.h"
#include "google/protobuf/struct.upbdefs.h"
#include "google/protobuf/wrappers.upb.h"
-#include "upb/base/status.h"
+#include "upb/base/status.hpp"
#include "upb/json/encode.h"
#include "upb/mem/arena.h"
-#include "upb/upb.hpp"
#include "xds/type/v3/typed_struct.upb.h"
#include <grpc/support/json.h>
@@ -386,13 +384,16 @@ CommonTlsContext CommonTlsContext::Parse(
CertificateProviderInstanceParse(
context, tls_certificate_certificate_provider_instance, errors);
} else {
- if (envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_has_tls_certificates(
- common_tls_context_proto)) {
+ size_t size;
+ envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_tls_certificates(
+ common_tls_context_proto, &size);
+ if (size != 0) {
ValidationErrors::ScopedField field(errors, ".tls_certificates");
errors->AddError("feature unsupported");
}
- if (envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_has_tls_certificate_sds_secret_configs(
- common_tls_context_proto)) {
+ envoy_extensions_transport_sockets_tls_v3_CommonTlsContext_tls_certificate_sds_secret_configs(
+ common_tls_context_proto, &size);
+ if (size != 0) {
ValidationErrors::ScopedField field(
errors, ".tls_certificate_sds_secret_configs");
errors->AddError("feature unsupported");
@@ -423,16 +424,18 @@ absl::StatusOr<Json> ParseProtobufStructToJson(
const google_protobuf_Struct* resource) {
upb::Status status;
const auto* msg_def = google_protobuf_Struct_getmsgdef(context.symtab);
- size_t json_size = upb_JsonEncode(resource, msg_def, context.symtab, 0,
- nullptr, 0, status.ptr());
+ size_t json_size =
+ upb_JsonEncode(reinterpret_cast<const upb_Message*>(resource), msg_def,
+ context.symtab, 0, nullptr, 0, status.ptr());
if (json_size == static_cast<size_t>(-1)) {
return absl::InvalidArgumentError(
absl::StrCat("error encoding google::Protobuf::Struct as JSON: ",
upb_Status_ErrorMessage(status.ptr())));
}
void* buf = upb_Arena_Malloc(context.arena, json_size + 1);
- upb_JsonEncode(resource, msg_def, context.symtab, 0,
- reinterpret_cast<char*>(buf), json_size + 1, status.ptr());
+ upb_JsonEncode(reinterpret_cast<const upb_Message*>(resource), msg_def,
+ context.symtab, 0, reinterpret_cast<char*>(buf), json_size + 1,
+ status.ptr());
auto json = JsonParse(reinterpret_cast<char*>(buf));
if (!json.ok()) {
// This should never happen.