summaryrefslogtreecommitdiff
path: root/controller/EmbeddedNetworkController.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-28 19:58:21 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-04-28 19:58:21 -0700
commita9ce77358484e41cd6bac42594e4eeb045a788cb (patch)
treed1cdad4bb8f55c59ac70809c358efff03c2cb839 /controller/EmbeddedNetworkController.cpp
parentd69bc4fb5e51696c2d0f3b14ccc5a81b790faace (diff)
downloadinfinitytier-a9ce77358484e41cd6bac42594e4eeb045a788cb.tar.gz
infinitytier-a9ce77358484e41cd6bac42594e4eeb045a788cb.zip
Remove lastModified field in config which literally nothing uses anywhere, and prevent some unnecessary writes.
Diffstat (limited to 'controller/EmbeddedNetworkController.cpp')
-rw-r--r--controller/EmbeddedNetworkController.cpp23
1 files changed, 8 insertions, 15 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index 61aa23ae..70640ff5 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -715,20 +715,18 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpPOST(
member["address"] = addrs; // legacy
member["nwid"] = nwids;
+ _removeMemberNonPersistedFields(member);
if (member != origMember) {
- member["lastModified"] = now;
json &revj = member["revision"];
member["revision"] = (revj.is_number() ? ((uint64_t)revj + 1ULL) : 1ULL);
- _removeMemberNonPersistedFields(member);
_db.saveNetworkMember(nwid,address,member);
_pushMemberUpdate(now,nwid,member);
}
- // Add non-persisted fields
- member["clock"] = now;
-
+ _addMemberNonPersistedFields(member,now);
responseBody = OSUtils::jsonDump(member);
responseContentType = "application/json";
+
return 200;
} else if ((path.size() == 3)&&(path[2] == "test")) {
@@ -1018,11 +1016,10 @@ unsigned int EmbeddedNetworkController::handleControlPlaneHttpPOST(
network["id"] = nwids;
network["nwid"] = nwids; // legacy
+ _removeNetworkNonPersistedFields(network);
if (network != origNetwork) {
json &revj = network["revision"];
network["revision"] = (revj.is_number() ? ((uint64_t)revj + 1ULL) : 1ULL);
- network["lastModified"] = now;
- _removeNetworkNonPersistedFields(network);
_db.saveNetwork(nwid,network);
// Send an update to all members of the network
@@ -1349,11 +1346,9 @@ void EmbeddedNetworkController::_request(
// If they are not authorized, STOP!
if (!authorizedBy) {
- if (origMember != member) {
- member["lastModified"] = now;
- _removeMemberNonPersistedFields(member);
+ _removeMemberNonPersistedFields(member);
+ if (origMember != member)
_db.saveNetworkMember(nwid,identity.address().toInt(),member);
- }
_sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_ACCESS_DENIED);
return;
}
@@ -1700,11 +1695,9 @@ void EmbeddedNetworkController::_request(
return;
}
- if (member != origMember) {
- member["lastModified"] = now;
- _removeMemberNonPersistedFields(member);
+ _removeMemberNonPersistedFields(member);
+ if (member != origMember)
_db.saveNetworkMember(nwid,identity.address().toInt(),member);
- }
_sender->ncSendConfig(nwid,requestPacketId,identity.address(),*(nc.get()),metaData.getUI(ZT_NETWORKCONFIG_REQUEST_METADATA_KEY_VERSION,0) < 6);
}