summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Network.cpp4
-rw-r--r--node/NetworkConfig.cpp12
-rw-r--r--node/NetworkConfig.hpp3
3 files changed, 4 insertions, 15 deletions
diff --git a/node/Network.cpp b/node/Network.cpp
index 2a33321c..d8e3b07a 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -416,7 +416,7 @@ Network::Network(const RuntimeEnvironment *renv,uint64_t nwid,void *uptr) :
std::string conf(RR->node->dataStoreGet(confn));
if (conf.length()) {
dconf->load(conf.c_str());
- if (nconf->fromDictionary(Identity(),*dconf)) {
+ if (nconf->fromDictionary(*dconf)) {
this->setConfiguration(*nconf,false);
_lastConfigUpdate = 0; // we still want to re-request a new config from the network
gotConf = true;
@@ -672,7 +672,7 @@ void Network::handleInboundConfigChunk(const uint64_t inRePacketId,const void *d
try {
Identity controllerId(RR->topology->getIdentity(this->controller()));
if (controllerId) {
- if (nc->fromDictionary(controllerId,*dict)) {
+ if (nc->fromDictionary(*dict)) {
this->setConfiguration(*nc,true);
} else {
TRACE("error parsing new config with length %u: deserialization of NetworkConfig failed (certificate error?)",(unsigned int)newConfig.length());
diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp
index 14ebb209..0c9c05ca 100644
--- a/node/NetworkConfig.cpp
+++ b/node/NetworkConfig.cpp
@@ -179,18 +179,8 @@ bool NetworkConfig::toDictionary(Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d,b
return true;
}
-bool NetworkConfig::fromDictionary(const Identity &controllerId,Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d)
+bool NetworkConfig::fromDictionary(const Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d)
{
- if ((d.contains(ZT_NETWORKCONFIG_DICT_KEY_SIGNATURE))&&(controllerId)) {
- // FIXME: right now signature are optional since network configs are only
- // accepted directly from the controller and the protocol already guarantees
- // the sender. In the future these might be made non-optional once old
- // controllers that do not sign are gone and if we ever support peer caching
- // of network configs.
- if (!d.unwrapAndVerify(ZT_NETWORKCONFIG_DICT_KEY_SIGNATURE,controllerId.publicKey()))
- return false;
- }
-
Buffer<ZT_NETWORKCONFIG_DICT_CAPACITY> *tmp = new Buffer<ZT_NETWORKCONFIG_DICT_CAPACITY>();
try {
diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp
index 9b12aa0e..a853d020 100644
--- a/node/NetworkConfig.hpp
+++ b/node/NetworkConfig.hpp
@@ -206,11 +206,10 @@ public:
/**
* Read this network config from a dictionary
*
- * @param controllerId Controller identity for verification of any signature or NULL identity to skip
* @param d Dictionary (non-const since it might be modified during parse, should not be used after call)
* @return True if dictionary was valid and network config successfully initialized
*/
- bool fromDictionary(const Identity &controllerId,Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d);
+ bool fromDictionary(const Dictionary<ZT_NETWORKCONFIG_DICT_CAPACITY> &d);
/**
* @return True if passive bridging is allowed (experimental)