summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-21 15:47:33 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-10-21 15:47:33 -0400
commit719dd2870dea03000aa2404321a337c7a13166fd (patch)
tree6d2579b114264106069c4124c9e8b356f342f613 /node
parent2f00ae4fd7dc018898684e07311390af7da7d4c3 (diff)
downloadinfinitytier-719dd2870dea03000aa2404321a337c7a13166fd.tar.gz
infinitytier-719dd2870dea03000aa2404321a337c7a13166fd.zip
Self-test for certificate of membership.
Diffstat (limited to 'node')
-rw-r--r--node/CertificateOfMembership.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/node/CertificateOfMembership.hpp b/node/CertificateOfMembership.hpp
index b5a7947b..7f3dcbb3 100644
--- a/node/CertificateOfMembership.hpp
+++ b/node/CertificateOfMembership.hpp
@@ -367,6 +367,24 @@ public:
return (p - startAt);
}
+ inline bool operator==(const CertificateOfMembership &c) const
+ throw()
+ {
+ if (_signedBy != c._signedBy)
+ return false;
+ // We have to compare in depth manually since == only compares id
+ if (_qualifiers.size() != c._qualifiers.size())
+ return false;
+ for(unsigned long i=0;i<_qualifiers.size();++i) {
+ const _Qualifier &a = _qualifiers[i];
+ const _Qualifier &b = c._qualifiers[i];
+ if ((a.id != b.id)||(a.value != b.value)||(a.maxDelta != b.maxDelta))
+ return false;
+ }
+ return (_signature == c._signature);
+ }
+ inline bool operator!=(const CertificateOfMembership &c) const throw() { return (!(*this == c)); }
+
private:
struct _Qualifier
{