From c345c699fd90cbad1ceda6226475d9a27ae47072 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 18 Jul 2013 13:27:46 -0400 Subject: Self test for command bus encode/decode. --- node/NodeConfig.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'node/NodeConfig.cpp') diff --git a/node/NodeConfig.cpp b/node/NodeConfig.cpp index fca53942..381bbd62 100644 --- a/node/NodeConfig.cpp +++ b/node/NodeConfig.cpp @@ -156,15 +156,15 @@ std::vector< Buffer > NodeConfig::encodeControlMe if (((i + 1) >= payload.size())||((packet.size() + payload[i + 1].length() + 1) >= packet.capacity())) { Utils::getSecureRandom(packet.field(8,8),8); + Salsa20 s20(key,256,packet.field(8,8)); + s20.encrypt(packet.field(16,packet.size() - 16),packet.field(16,packet.size() - 16),packet.size() - 16); + memcpy(keytmp,key,32); for(unsigned int i=0;i<32;++i) keytmp[i] ^= 0x77; // use a different permutation of key for HMAC than for Salsa20 HMAC::sha256(keytmp,32,packet.field(16,packet.size() - 16),packet.size() - 16,hmac); memcpy(packet.field(0,8),hmac,8); - Salsa20 s20(key,256,packet.field(8,8)); - s20.encrypt(packet.field(16,packet.size() - 16),packet.field(16,packet.size() - 16),packet.size() - 16); - packets.push_back(packet); packet.setSize(16); // HMAC and IV @@ -200,7 +200,6 @@ bool NodeConfig::decodeControlMessagePacket(const void *key,const void *data,uns const char *pl = ((const char *)packet.data()) + 20; unsigned int pll = packet.size() - 20; - payload.clear(); for(unsigned int i=0;i