summaryrefslogtreecommitdiff
path: root/node/Revocation.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/Revocation.hpp')
-rw-r--r--node/Revocation.hpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/node/Revocation.hpp b/node/Revocation.hpp
index 18916985..1697b52f 100644
--- a/node/Revocation.hpp
+++ b/node/Revocation.hpp
@@ -50,9 +50,10 @@ public:
enum CredentialType
{
CREDENTIAL_TYPE_ALL = 0,
- CREDENTIAL_TYPE_COM = 1,
+ CREDENTIAL_TYPE_COM = 1, // CertificateOfMembership
CREDENTIAL_TYPE_CAPABILITY = 2,
- CREDENTIAL_TYPE_TAG = 3
+ CREDENTIAL_TYPE_TAG = 3,
+ CREDENTIAL_TYPE_COO = 4 // CertificateOfOwnership
};
Revocation()
@@ -88,8 +89,8 @@ public:
{
if (signer.hasPrivate()) {
Buffer<sizeof(Revocation) + 64> tmp;
- this->serialize(tmp,true);
_signedBy = signer.address();
+ this->serialize(tmp,true);
_signature = signer.sign(tmp.data(),tmp.size());
return true;
}
@@ -152,6 +153,8 @@ public:
memcpy(_signature.data,b.field(p,ZT_C25519_SIGNATURE_LEN),ZT_C25519_SIGNATURE_LEN);
p += ZT_C25519_SIGNATURE_LEN;
} else throw std::runtime_error("invalid signature");
+ } else {
+ p += 2 + b.template at<uint16_t>(p);
}
p += 2 + b.template at<uint16_t>(p);