diff options
Diffstat (limited to 'src/core/ext/xds/xds_common_types.cc')
-rw-r--r-- | src/core/ext/xds/xds_common_types.cc | 25 |
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. |