summaryrefslogtreecommitdiff
path: root/node/CertificateOfMembership.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'node/CertificateOfMembership.cpp')
-rw-r--r--node/CertificateOfMembership.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp
index 0944851a..c0385fb7 100644
--- a/node/CertificateOfMembership.cpp
+++ b/node/CertificateOfMembership.cpp
@@ -51,6 +51,8 @@ std::string CertificateOfMembership::toString() const
{
std::string s;
+ s.append("1:"); // COM_UINT64_ED25519
+
uint64_t *buf = new uint64_t[_qualifiers.size() * 3];
try {
unsigned int ptr = 0;
@@ -87,6 +89,13 @@ void CertificateOfMembership::fromString(const char *s)
unsigned int colonAt = 0;
while ((s[colonAt])&&(s[colonAt] != ':')) ++colonAt;
+ if (!((colonAt == 1)&&(s[0] == '1'))) // COM_UINT64_ED25519?
+ return;
+
+ s += colonAt + 1;
+ colonAt = 0;
+ while ((s[colonAt])&&(s[colonAt] != ':')) ++colonAt;
+
if (colonAt) {
unsigned int buflen = colonAt / 2;
char *buf = new char[buflen];