diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-10-21 15:47:33 -0400 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-10-21 15:47:33 -0400 |
commit | 719dd2870dea03000aa2404321a337c7a13166fd (patch) | |
tree | 6d2579b114264106069c4124c9e8b356f342f613 /node | |
parent | 2f00ae4fd7dc018898684e07311390af7da7d4c3 (diff) | |
download | infinitytier-719dd2870dea03000aa2404321a337c7a13166fd.tar.gz infinitytier-719dd2870dea03000aa2404321a337c7a13166fd.zip |
Self-test for certificate of membership.
Diffstat (limited to 'node')
-rw-r--r-- | node/CertificateOfMembership.hpp | 18 |
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 { |