summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/IncomingPacket.cpp4
-rw-r--r--node/NetworkConfigMaster.hpp12
2 files changed, 10 insertions, 6 deletions
diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp
index 7bc8cc9c..21fcac01 100644
--- a/node/IncomingPacket.cpp
+++ b/node/IncomingPacket.cpp
@@ -632,7 +632,7 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,cons
if (RR->netconfMaster) {
Dictionary netconf;
- switch(RR->netconfMaster->doNetworkConfigRequest(_remoteAddress,packetId(),source(),nwid,metaData,haveTimestamp,netconf)) {
+ switch(RR->netconfMaster->doNetworkConfigRequest(_remoteAddress,packetId(),peer->identity(),nwid,metaData,haveTimestamp,netconf)) {
case NetworkConfigMaster::NETCONF_QUERY_OK: {
std::string netconfStr(netconf.toString());
if (netconfStr.length() > 0xffff) { // sanity check since field ix 16-bit
@@ -652,6 +652,8 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,cons
}
}
} break;
+ case NetworkConfigMaster::NETCONF_QUERY_OK_BUT_NOT_NEWER: // nothing to do -- netconf has not changed
+ break;
case NetworkConfigMaster::NETCONF_QUERY_OBJECT_NOT_FOUND: {
Packet outp(peer->address(),RR->identity.address(),Packet::VERB_ERROR);
outp.append((unsigned char)Packet::VERB_NETWORK_CONFIG_REQUEST);
diff --git a/node/NetworkConfigMaster.hpp b/node/NetworkConfigMaster.hpp
index 5e2ab6fc..12a926fa 100644
--- a/node/NetworkConfigMaster.hpp
+++ b/node/NetworkConfigMaster.hpp
@@ -34,6 +34,7 @@
#include "InetAddress.hpp"
#include "Dictionary.hpp"
#include "Address.hpp"
+#include "Identity.hpp"
namespace ZeroTier {
@@ -51,9 +52,10 @@ public:
enum ResultCode
{
NETCONF_QUERY_OK = 0,
- NETCONF_QUERY_OBJECT_NOT_FOUND = 1,
- NETCONF_QUERY_ACCESS_DENIED = 2,
- NETCONF_QUERY_INTERNAL_SERVER_ERROR = 3
+ NETCONF_QUERY_OK_BUT_NOT_NEWER = 1,
+ NETCONF_QUERY_OBJECT_NOT_FOUND = 2,
+ NETCONF_QUERY_ACCESS_DENIED = 3,
+ NETCONF_QUERY_INTERNAL_SERVER_ERROR = 4
};
NetworkConfigMaster() {}
@@ -70,7 +72,7 @@ public:
*
* @param fromAddr Originating IP address
* @param packetId 64-bit packet ID
- * @param member Originating peer ZeroTier address
+ * @param member Originating peer ZeroTier identity
* @param nwid 64-bit network ID
* @param metaData Meta-data bundled with request (empty if none)
* @param haveTimestamp Timestamp sent by requesting peer or 0 if none
@@ -80,7 +82,7 @@ public:
virtual NetworkConfigMaster::ResultCode doNetworkConfigRequest(
const InetAddress &fromAddr,
uint64_t packetId,
- const Address &member,
+ const Identity &member,
uint64_t nwid,
const Dictionary &metaData,
uint64_t haveTimestamp,