Browse Source

Added in new interface to send post-LA msgs so we don't need to know the size of msgs beforehand for native read/write sys calls

dettanym 5 years ago
parent
commit
cb9e34027d
3 changed files with 422 additions and 76 deletions
  1. 221 32
      App/ProtobufLAMessages.pb.cpp
  2. 1 1
      App/protobufSgxLATransformsInitiator.cpp
  3. 200 43
      Include/ProtobufLAMessages.pb.h

+ 221 - 32
App/dhmsgs.pb.cpp → App/ProtobufLAMessages.pb.cpp

@@ -1,8 +1,8 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: dhmsgs.proto
+// source: ProtobufLAMessages.proto
 
 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "dhmsgs.pb.h"
+#include "ProtobufLAMessages.pb.h"
 
 #include <algorithm>
 
@@ -13,7 +13,7 @@
 #include <google/protobuf/io/zero_copy_stream_impl_lite.h>
 // @@protoc_insertion_point(includes)
 
-void protobuf_ShutdownFile_dhmsgs_2eproto() {
+void protobuf_ShutdownFile_ProtobufLAMessages_2eproto() {
   delete protobuf_sgx_attributes_t::default_instance_;
   delete protobuf_sgx_ec256_public_t::default_instance_;
   delete protobuf_sgx_report_body_t::default_instance_;
@@ -23,14 +23,15 @@ void protobuf_ShutdownFile_dhmsgs_2eproto() {
   delete protobuf_sgx_dh_msg2_t::default_instance_;
   delete protobuf_sgx_dh_msg3_body_t::default_instance_;
   delete protobuf_sgx_dh_msg3_t::default_instance_;
+  delete protobuf_post_LA_encrypted_msg_t::default_instance_;
 }
 
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-void protobuf_AddDesc_dhmsgs_2eproto_impl() {
+void protobuf_AddDesc_ProtobufLAMessages_2eproto_impl() {
   GOOGLE_PROTOBUF_VERIFY_VERSION;
 
 #else
-void protobuf_AddDesc_dhmsgs_2eproto() {
+void protobuf_AddDesc_ProtobufLAMessages_2eproto() {
   static bool already_here = false;
   if (already_here) return;
   already_here = true;
@@ -46,6 +47,7 @@ void protobuf_AddDesc_dhmsgs_2eproto() {
   protobuf_sgx_dh_msg2_t::default_instance_ = new protobuf_sgx_dh_msg2_t();
   protobuf_sgx_dh_msg3_body_t::default_instance_ = new protobuf_sgx_dh_msg3_body_t();
   protobuf_sgx_dh_msg3_t::default_instance_ = new protobuf_sgx_dh_msg3_t();
+  protobuf_post_LA_encrypted_msg_t::default_instance_ = new protobuf_post_LA_encrypted_msg_t();
   protobuf_sgx_attributes_t::default_instance_->InitAsDefaultInstance();
   protobuf_sgx_ec256_public_t::default_instance_->InitAsDefaultInstance();
   protobuf_sgx_report_body_t::default_instance_->InitAsDefaultInstance();
@@ -55,22 +57,23 @@ void protobuf_AddDesc_dhmsgs_2eproto() {
   protobuf_sgx_dh_msg2_t::default_instance_->InitAsDefaultInstance();
   protobuf_sgx_dh_msg3_body_t::default_instance_->InitAsDefaultInstance();
   protobuf_sgx_dh_msg3_t::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_dhmsgs_2eproto);
+  protobuf_post_LA_encrypted_msg_t::default_instance_->InitAsDefaultInstance();
+  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ProtobufLAMessages_2eproto);
 }
 
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_dhmsgs_2eproto_once_);
-void protobuf_AddDesc_dhmsgs_2eproto() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_dhmsgs_2eproto_once_,
-                 &protobuf_AddDesc_dhmsgs_2eproto_impl);
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_ProtobufLAMessages_2eproto_once_);
+void protobuf_AddDesc_ProtobufLAMessages_2eproto() {
+  ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_ProtobufLAMessages_2eproto_once_,
+                 &protobuf_AddDesc_ProtobufLAMessages_2eproto_impl);
 }
 #else
 // Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_dhmsgs_2eproto {
-  StaticDescriptorInitializer_dhmsgs_2eproto() {
-    protobuf_AddDesc_dhmsgs_2eproto();
+struct StaticDescriptorInitializer_ProtobufLAMessages_2eproto {
+  StaticDescriptorInitializer_ProtobufLAMessages_2eproto() {
+    protobuf_AddDesc_ProtobufLAMessages_2eproto();
   }
-} static_descriptor_initializer_dhmsgs_2eproto_;
+} static_descriptor_initializer_ProtobufLAMessages_2eproto_;
 #endif
 
 // ===================================================================
@@ -124,9 +127,9 @@ void protobuf_sgx_attributes_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_attributes_t& protobuf_sgx_attributes_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -361,9 +364,9 @@ void protobuf_sgx_ec256_public_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_ec256_public_t& protobuf_sgx_ec256_public_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -633,9 +636,9 @@ void protobuf_sgx_report_body_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_report_body_t& protobuf_sgx_report_body_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -1326,9 +1329,9 @@ void protobuf_sgx_report_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_report_t& protobuf_sgx_report_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -1630,9 +1633,9 @@ void protobuf_sgx_target_info_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_target_info_t& protobuf_sgx_target_info_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -2020,9 +2023,9 @@ void protobuf_sgx_dh_msg1_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_dh_msg1_t& protobuf_sgx_dh_msg1_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -2268,9 +2271,9 @@ void protobuf_sgx_dh_msg2_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_dh_msg2_t& protobuf_sgx_dh_msg2_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -2555,9 +2558,9 @@ void protobuf_sgx_dh_msg3_body_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_dh_msg3_body_t& protobuf_sgx_dh_msg3_body_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -2797,9 +2800,9 @@ void protobuf_sgx_dh_msg3_t::SetCachedSize(int size) const {
 }
 const protobuf_sgx_dh_msg3_t& protobuf_sgx_dh_msg3_t::default_instance() {
 #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  protobuf_AddDesc_dhmsgs_2eproto();
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #else
-  if (default_instance_ == NULL) protobuf_AddDesc_dhmsgs_2eproto();
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
 #endif
   return *default_instance_;
 }
@@ -2992,6 +2995,192 @@ void protobuf_sgx_dh_msg3_t::Swap(protobuf_sgx_dh_msg3_t* other) {
 }
 
 
+// ===================================================================
+
+#ifndef _MSC_VER
+const int protobuf_post_LA_encrypted_msg_t::kMsgFieldNumber;
+#endif  // !_MSC_VER
+
+protobuf_post_LA_encrypted_msg_t::protobuf_post_LA_encrypted_msg_t()
+  : ::google::protobuf::MessageLite() {
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:protobuf_post_LA_encrypted_msg_t)
+}
+
+void protobuf_post_LA_encrypted_msg_t::InitAsDefaultInstance() {
+}
+
+protobuf_post_LA_encrypted_msg_t::protobuf_post_LA_encrypted_msg_t(const protobuf_post_LA_encrypted_msg_t& from)
+  : ::google::protobuf::MessageLite() {
+  SharedCtor();
+  MergeFrom(from);
+  // @@protoc_insertion_point(copy_constructor:protobuf_post_LA_encrypted_msg_t)
+}
+
+void protobuf_post_LA_encrypted_msg_t::SharedCtor() {
+  ::google::protobuf::internal::GetEmptyString();
+  _cached_size_ = 0;
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+protobuf_post_LA_encrypted_msg_t::~protobuf_post_LA_encrypted_msg_t() {
+  // @@protoc_insertion_point(destructor:protobuf_post_LA_encrypted_msg_t)
+  SharedDtor();
+}
+
+void protobuf_post_LA_encrypted_msg_t::SharedDtor() {
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  if (this != &default_instance()) {
+  #else
+  if (this != default_instance_) {
+  #endif
+  }
+}
+
+void protobuf_post_LA_encrypted_msg_t::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const protobuf_post_LA_encrypted_msg_t& protobuf_post_LA_encrypted_msg_t::default_instance() {
+#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  protobuf_AddDesc_ProtobufLAMessages_2eproto();
+#else
+  if (default_instance_ == NULL) protobuf_AddDesc_ProtobufLAMessages_2eproto();
+#endif
+  return *default_instance_;
+}
+
+protobuf_post_LA_encrypted_msg_t* protobuf_post_LA_encrypted_msg_t::default_instance_ = NULL;
+
+protobuf_post_LA_encrypted_msg_t* protobuf_post_LA_encrypted_msg_t::New() const {
+  return new protobuf_post_LA_encrypted_msg_t;
+}
+
+void protobuf_post_LA_encrypted_msg_t::Clear() {
+  msg_.Clear();
+  ::memset(_has_bits_, 0, sizeof(_has_bits_));
+  mutable_unknown_fields()->clear();
+}
+
+bool protobuf_post_LA_encrypted_msg_t::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  ::google::protobuf::io::StringOutputStream unknown_fields_string(
+      mutable_unknown_fields());
+  ::google::protobuf::io::CodedOutputStream unknown_fields_stream(
+      &unknown_fields_string);
+  // @@protoc_insertion_point(parse_start:protobuf_post_LA_encrypted_msg_t)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated bytes msg = 1;
+      case 1: {
+        if (tag == 10) {
+         parse_msg:
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->add_msg()));
+        } else {
+          goto handle_unusual;
+        }
+        if (input->ExpectTag(10)) goto parse_msg;
+        if (input->ExpectAtEnd()) goto success;
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0 ||
+            ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormatLite::SkipField(
+            input, tag, &unknown_fields_stream));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:protobuf_post_LA_encrypted_msg_t)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:protobuf_post_LA_encrypted_msg_t)
+  return false;
+#undef DO_
+}
+
+void protobuf_post_LA_encrypted_msg_t::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:protobuf_post_LA_encrypted_msg_t)
+  // repeated bytes msg = 1;
+  for (int i = 0; i < this->msg_size(); i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytes(
+      1, this->msg(i), output);
+  }
+
+  output->WriteRaw(unknown_fields().data(),
+                   unknown_fields().size());
+  // @@protoc_insertion_point(serialize_end:protobuf_post_LA_encrypted_msg_t)
+}
+
+int protobuf_post_LA_encrypted_msg_t::ByteSize() const {
+  int total_size = 0;
+
+  // repeated bytes msg = 1;
+  total_size += 1 * this->msg_size();
+  for (int i = 0; i < this->msg_size(); i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
+      this->msg(i));
+  }
+
+  total_size += unknown_fields().size();
+
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = total_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void protobuf_post_LA_encrypted_msg_t::CheckTypeAndMergeFrom(
+    const ::google::protobuf::MessageLite& from) {
+  MergeFrom(*::google::protobuf::down_cast<const protobuf_post_LA_encrypted_msg_t*>(&from));
+}
+
+void protobuf_post_LA_encrypted_msg_t::MergeFrom(const protobuf_post_LA_encrypted_msg_t& from) {
+  GOOGLE_CHECK_NE(&from, this);
+  msg_.MergeFrom(from.msg_);
+  mutable_unknown_fields()->append(from.unknown_fields());
+}
+
+void protobuf_post_LA_encrypted_msg_t::CopyFrom(const protobuf_post_LA_encrypted_msg_t& from) {
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool protobuf_post_LA_encrypted_msg_t::IsInitialized() const {
+
+  return true;
+}
+
+void protobuf_post_LA_encrypted_msg_t::Swap(protobuf_post_LA_encrypted_msg_t* other) {
+  if (other != this) {
+    msg_.Swap(&other->msg_);
+    std::swap(_has_bits_[0], other->_has_bits_[0]);
+    _unknown_fields_.swap(other->_unknown_fields_);
+    std::swap(_cached_size_, other->_cached_size_);
+  }
+}
+
+::std::string protobuf_post_LA_encrypted_msg_t::GetTypeName() const {
+  return "protobuf_post_LA_encrypted_msg_t";
+}
+
+
 // @@protoc_insertion_point(namespace_scope)
 
 // @@protoc_insertion_point(global_scope)

+ 1 - 1
App/protobufSgxLATransformsInitiator.cpp

@@ -1,4 +1,4 @@
-#include "dhmsgs.pb.h"
+#include "ProtobufLAMessages.pb.h"
 #include "../Decryptor/Decryptor_u.h"
 #include "sgx_eid.h"
 #include "sgx_urts.h"

+ 200 - 43
App/dhmsgs.pb.h → Include/ProtobufLAMessages.pb.h

@@ -1,8 +1,8 @@
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: dhmsgs.proto
+// source: ProtobufLAMessages.proto
 
-#ifndef PROTOBUF_dhmsgs_2eproto__INCLUDED
-#define PROTOBUF_dhmsgs_2eproto__INCLUDED
+#ifndef PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED
+#define PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED
 
 #include <string>
 
@@ -26,9 +26,9 @@
 // @@protoc_insertion_point(includes)
 
 // Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_dhmsgs_2eproto();
-void protobuf_AssignDesc_dhmsgs_2eproto();
-void protobuf_ShutdownFile_dhmsgs_2eproto();
+void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
+void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
 class protobuf_sgx_attributes_t;
 class protobuf_sgx_ec256_public_t;
@@ -39,6 +39,7 @@ class protobuf_sgx_dh_msg1_t;
 class protobuf_sgx_dh_msg2_t;
 class protobuf_sgx_dh_msg3_body_t;
 class protobuf_sgx_dh_msg3_t;
+class protobuf_post_LA_encrypted_msg_t;
 
 // ===================================================================
 
@@ -131,12 +132,12 @@ class protobuf_sgx_attributes_t : public ::google::protobuf::MessageLite {
   ::google::protobuf::uint64 flags_;
   ::google::protobuf::uint64 xfrm_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_attributes_t* default_instance_;
@@ -240,12 +241,12 @@ class protobuf_sgx_ec256_public_t : public ::google::protobuf::MessageLite {
   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > gy_;
   mutable int _gy_cached_byte_size_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_ec256_public_t* default_instance_;
@@ -475,12 +476,12 @@ class protobuf_sgx_report_body_t : public ::google::protobuf::MessageLite {
   mutable int _report_data_cached_byte_size_;
   ::google::protobuf::uint32 isv_svn_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_report_body_t* default_instance_;
@@ -596,12 +597,12 @@ class protobuf_sgx_report_t : public ::google::protobuf::MessageLite {
   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > mac_;
   mutable int _mac_cached_byte_size_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_report_t* default_instance_;
@@ -741,12 +742,12 @@ class protobuf_sgx_target_info_t : public ::google::protobuf::MessageLite {
   mutable int _reserved2_cached_byte_size_;
   ::google::protobuf::uint32 misc_select_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_target_info_t* default_instance_;
@@ -846,12 +847,12 @@ class protobuf_sgx_dh_msg1_t : public ::google::protobuf::MessageLite {
   ::protobuf_sgx_ec256_public_t* g_a_;
   ::protobuf_sgx_target_info_t* target_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_dh_msg1_t* default_instance_;
@@ -965,12 +966,12 @@ class protobuf_sgx_dh_msg2_t : public ::google::protobuf::MessageLite {
   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > cmac_;
   mutable int _cmac_cached_byte_size_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_dh_msg2_t* default_instance_;
@@ -1071,12 +1072,12 @@ class protobuf_sgx_dh_msg3_body_t : public ::google::protobuf::MessageLite {
   ::protobuf_sgx_report_t* report_;
   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > additional_prop_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_dh_msg3_body_t* default_instance_;
@@ -1178,16 +1179,114 @@ class protobuf_sgx_dh_msg3_t : public ::google::protobuf::MessageLite {
   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > cmac_;
   mutable int _cmac_cached_byte_size_;
   #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
-  friend void  protobuf_AddDesc_dhmsgs_2eproto_impl();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
   #else
-  friend void  protobuf_AddDesc_dhmsgs_2eproto();
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
   #endif
-  friend void protobuf_AssignDesc_dhmsgs_2eproto();
-  friend void protobuf_ShutdownFile_dhmsgs_2eproto();
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
 
   void InitAsDefaultInstance();
   static protobuf_sgx_dh_msg3_t* default_instance_;
 };
+// -------------------------------------------------------------------
+
+class protobuf_post_LA_encrypted_msg_t : public ::google::protobuf::MessageLite {
+ public:
+  protobuf_post_LA_encrypted_msg_t();
+  virtual ~protobuf_post_LA_encrypted_msg_t();
+
+  protobuf_post_LA_encrypted_msg_t(const protobuf_post_LA_encrypted_msg_t& from);
+
+  inline protobuf_post_LA_encrypted_msg_t& operator=(const protobuf_post_LA_encrypted_msg_t& from) {
+    CopyFrom(from);
+    return *this;
+  }
+
+  inline const ::std::string& unknown_fields() const {
+    return _unknown_fields_;
+  }
+
+  inline ::std::string* mutable_unknown_fields() {
+    return &_unknown_fields_;
+  }
+
+  static const protobuf_post_LA_encrypted_msg_t& default_instance();
+
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  // Returns the internal default instance pointer. This function can
+  // return NULL thus should not be used by the user. This is intended
+  // for Protobuf internal code. Please use default_instance() declared
+  // above instead.
+  static inline const protobuf_post_LA_encrypted_msg_t* internal_default_instance() {
+    return default_instance_;
+  }
+  #endif
+
+  void Swap(protobuf_post_LA_encrypted_msg_t* other);
+
+  // implements Message ----------------------------------------------
+
+  protobuf_post_LA_encrypted_msg_t* New() const;
+  void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from);
+  void CopyFrom(const protobuf_post_LA_encrypted_msg_t& from);
+  void MergeFrom(const protobuf_post_LA_encrypted_msg_t& from);
+  void Clear();
+  bool IsInitialized() const;
+
+  int ByteSize() const;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input);
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const;
+  void DiscardUnknownFields();
+  int GetCachedSize() const { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const;
+  public:
+  ::std::string GetTypeName() const;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // repeated bytes msg = 1;
+  inline int msg_size() const;
+  inline void clear_msg();
+  static const int kMsgFieldNumber = 1;
+  inline const ::std::string& msg(int index) const;
+  inline ::std::string* mutable_msg(int index);
+  inline void set_msg(int index, const ::std::string& value);
+  inline void set_msg(int index, const char* value);
+  inline void set_msg(int index, const void* value, size_t size);
+  inline ::std::string* add_msg();
+  inline void add_msg(const ::std::string& value);
+  inline void add_msg(const char* value);
+  inline void add_msg(const void* value, size_t size);
+  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& msg() const;
+  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_msg();
+
+  // @@protoc_insertion_point(class_scope:protobuf_post_LA_encrypted_msg_t)
+ private:
+
+  ::std::string _unknown_fields_;
+
+  ::google::protobuf::uint32 _has_bits_[1];
+  mutable int _cached_size_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> msg_;
+  #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto_impl();
+  #else
+  friend void  protobuf_AddDesc_ProtobufLAMessages_2eproto();
+  #endif
+  friend void protobuf_AssignDesc_ProtobufLAMessages_2eproto();
+  friend void protobuf_ShutdownFile_ProtobufLAMessages_2eproto();
+
+  void InitAsDefaultInstance();
+  static protobuf_post_LA_encrypted_msg_t* default_instance_;
+};
 // ===================================================================
 
 
@@ -2316,9 +2415,67 @@ protobuf_sgx_dh_msg3_t::mutable_cmac() {
   return &cmac_;
 }
 
+// -------------------------------------------------------------------
+
+// protobuf_post_LA_encrypted_msg_t
+
+// repeated bytes msg = 1;
+inline int protobuf_post_LA_encrypted_msg_t::msg_size() const {
+  return msg_.size();
+}
+inline void protobuf_post_LA_encrypted_msg_t::clear_msg() {
+  msg_.Clear();
+}
+inline const ::std::string& protobuf_post_LA_encrypted_msg_t::msg(int index) const {
+  // @@protoc_insertion_point(field_get:protobuf_post_LA_encrypted_msg_t.msg)
+  return msg_.Get(index);
+}
+inline ::std::string* protobuf_post_LA_encrypted_msg_t::mutable_msg(int index) {
+  // @@protoc_insertion_point(field_mutable:protobuf_post_LA_encrypted_msg_t.msg)
+  return msg_.Mutable(index);
+}
+inline void protobuf_post_LA_encrypted_msg_t::set_msg(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:protobuf_post_LA_encrypted_msg_t.msg)
+  msg_.Mutable(index)->assign(value);
+}
+inline void protobuf_post_LA_encrypted_msg_t::set_msg(int index, const char* value) {
+  msg_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:protobuf_post_LA_encrypted_msg_t.msg)
+}
+inline void protobuf_post_LA_encrypted_msg_t::set_msg(int index, const void* value, size_t size) {
+  msg_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:protobuf_post_LA_encrypted_msg_t.msg)
+}
+inline ::std::string* protobuf_post_LA_encrypted_msg_t::add_msg() {
+  return msg_.Add();
+}
+inline void protobuf_post_LA_encrypted_msg_t::add_msg(const ::std::string& value) {
+  msg_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:protobuf_post_LA_encrypted_msg_t.msg)
+}
+inline void protobuf_post_LA_encrypted_msg_t::add_msg(const char* value) {
+  msg_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:protobuf_post_LA_encrypted_msg_t.msg)
+}
+inline void protobuf_post_LA_encrypted_msg_t::add_msg(const void* value, size_t size) {
+  msg_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:protobuf_post_LA_encrypted_msg_t.msg)
+}
+inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
+protobuf_post_LA_encrypted_msg_t::msg() const {
+  // @@protoc_insertion_point(field_list:protobuf_post_LA_encrypted_msg_t.msg)
+  return msg_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::std::string>*
+protobuf_post_LA_encrypted_msg_t::mutable_msg() {
+  // @@protoc_insertion_point(field_mutable_list:protobuf_post_LA_encrypted_msg_t.msg)
+  return &msg_;
+}
+
 
 // @@protoc_insertion_point(namespace_scope)
 
 // @@protoc_insertion_point(global_scope)
 
-#endif  // PROTOBUF_dhmsgs_2eproto__INCLUDED
+#endif  // PROTOBUF_ProtobufLAMessages_2eproto__INCLUDED