summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
Diffstat (limited to 'controller')
-rw-r--r--controller/SqliteNetworkController.cpp17
-rw-r--r--controller/SqliteNetworkController.hpp8
2 files changed, 12 insertions, 13 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index bef9cfc1..9f237f2a 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -353,7 +353,7 @@ SqliteNetworkController::~SqliteNetworkController()
}
}
-NetworkController::ResultCode SqliteNetworkController::doNetworkConfigRequest(const InetAddress &fromAddr,const Identity &signingId,const Identity &identity,uint64_t nwid,const Dictionary &metaData,Dictionary &netconf)
+NetworkController::ResultCode SqliteNetworkController::doNetworkConfigRequest(const InetAddress &fromAddr,const Identity &signingId,const Identity &identity,uint64_t nwid,const NetworkConfigRequestMetaData &metaData,Buffer<8194> &netconf)
{
Mutex::Lock _l(_lock);
return _doNetworkConfigRequest(fromAddr,signingId,identity,nwid,metaData,netconf);
@@ -1647,25 +1647,24 @@ unsigned int SqliteNetworkController::_doCPGet(
return 404;
}
-NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(const InetAddress &fromAddr,const Identity &signingId,const Identity &identity,uint64_t nwid,const Dictionary &metaData,Dictionary &netconf)
+NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(const InetAddress &fromAddr,const Identity &signingId,const Identity &identity,uint64_t nwid,const NetworkConfigRequestMetaData &metaData,Buffer<8194> &netconf)
{
// Assumes _lock is locked
- // Decode some stuff from metaData
- const unsigned int clientMajorVersion = (unsigned int)metaData.getHexUInt(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_MAJOR_VERSION,0);
- const unsigned int clientMinorVersion = (unsigned int)metaData.getHexUInt(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_MINOR_VERSION,0);
- const unsigned int clientRevision = (unsigned int)metaData.getHexUInt(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_NODE_REVISION,0);
- const bool clientIs104 = (Utils::compareVersion(clientMajorVersion,clientMinorVersion,clientRevision,1,0,4) >= 0);
+ const bool clientIs104 = (Utils::compareVersion(metaData.majorVersion,metaData.minorVersion,metaData.revision,1,0,4) >= 0);
// Note: we can't reuse prepared statements that return const char * pointers without
// making our own copy in e.g. a std::string first.
+ Dictionary legacy;
+ NetworkConfig nc;
+
if ((!signingId)||(!signingId.hasPrivate())) {
- netconf["error"] = "signing identity invalid or lacks private key";
+ //netconf["error"] = "signing identity invalid or lacks private key";
return NetworkController::NETCONF_QUERY_INTERNAL_SERVER_ERROR;
}
if (signingId.address().toInt() != (nwid >> 24)) {
- netconf["error"] = "signing identity address does not match most significant 40 bits of network ID";
+ //netconf["error"] = "signing identity address does not match most significant 40 bits of network ID";
return NetworkController::NETCONF_QUERY_INTERNAL_SERVER_ERROR;
}
diff --git a/controller/SqliteNetworkController.hpp b/controller/SqliteNetworkController.hpp
index 11be9db4..05b46bfa 100644
--- a/controller/SqliteNetworkController.hpp
+++ b/controller/SqliteNetworkController.hpp
@@ -62,8 +62,8 @@ public:
const Identity &signingId,
const Identity &identity,
uint64_t nwid,
- const Dictionary &metaData,
- Dictionary &netconf);
+ const NetworkConfigRequestMetaData &metaData,
+ Buffer<8194> &netconf);
unsigned int handleControlPlaneHttpGET(
const std::vector<std::string> &path,
@@ -111,8 +111,8 @@ private:
const Identity &signingId,
const Identity &identity,
uint64_t nwid,
- const Dictionary &metaData,
- Dictionary &netconf);
+ const NetworkConfigRequestMetaData &metaData,
+ Buffer<8194> &netconf);
static void _circuitTestCallback(ZT_Node *node,ZT_CircuitTest *test,const ZT_CircuitTestReport *report);