summaryrefslogtreecommitdiff
path: root/node/Network.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-29 16:18:29 -0400
committerAdam Ierymenko <adam.ierymenko@gmail.com>2013-07-29 16:18:29 -0400
commit439e602d5a5712d1b33fb19d558d0e9fdf784703 (patch)
treef6f5dcb2c76fd13e67106e3241373595730dc70a /node/Network.cpp
parenta53cfc909638ea9eeb2bd477cee20d106f79bf6d (diff)
downloadinfinitytier-439e602d5a5712d1b33fb19d558d0e9fdf784703.tar.gz
infinitytier-439e602d5a5712d1b33fb19d558d0e9fdf784703.zip
Fix a bunch of errors due to minor method signature changes, still a work in progress.
Diffstat (limited to 'node/Network.cpp')
-rw-r--r--node/Network.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/node/Network.cpp b/node/Network.cpp
index 34a9a85b..696426e4 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -37,23 +37,19 @@
namespace ZeroTier {
-void Network::Certificate::sign(const Identity &with)
+void Network::Certificate::_shaForSignature(unsigned char *dig) const
{
- unsigned char dig[32];
SHA256_CTX sha;
SHA256_Init(&sha);
unsigned char zero = 0;
for(const_iterator i(begin());i!=end();++i) {
- if (i->first != "sig") {
- SHA256_Update(&sha,&zero,1);
- SHA256_Update(&sha,(const unsigned char *)i->first.data(),i->first.length());
- SHA256_Update(&sha,&zero,1);
- SHA256_Update(&sha,(const unsigned char *)i->second.data(),i->second.length());
- SHA256_Update(&sha,&zero,1);
- }
+ SHA256_Update(&sha,&zero,1);
+ SHA256_Update(&sha,(const unsigned char *)i->first.data(),i->first.length());
+ SHA256_Update(&sha,&zero,1);
+ SHA256_Update(&sha,(const unsigned char *)i->second.data(),i->second.length());
+ SHA256_Update(&sha,&zero,1);
}
SHA256_Final(dig,&sha);
- (*this)["sig"] = with.sign(dig);
}
static const std::string _DELTA_PREFIX("~");
@@ -71,7 +67,7 @@ bool Network::Certificate::qualifyMembership(const Network::Certificate &mc) con
const_iterator deltaField(find(_DELTA_PREFIX + myField->first));
if (deltaField == end()) {
- // If there is no delta, compare for equality (e.g. node, nwid)
+ // If there is no delta, compare on simple equality
if (myField->second != theirField->second)
return false;
} else {