summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-08-19 11:43:56 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-08-19 11:43:56 -0700
commit4da794b38970d3899e752ae3adf4e4f64c3651d8 (patch)
tree9b0db77183b73a16f091fe1039bd2d38c248639c
parent0a5429cab00696ffc90cdc52790206b1f71e2ae2 (diff)
downloadinfinitytier-4da794b38970d3899e752ae3adf4e4f64c3651d8.tar.gz
infinitytier-4da794b38970d3899e752ae3adf4e4f64c3651d8.zip
Add authorizedMemberCount to controller network config records.
-rw-r--r--controller/SqliteNetworkController.cpp6
-rw-r--r--service/README.md1
2 files changed, 5 insertions, 2 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index 2cdd9913..9497ebc3 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -156,7 +156,7 @@ SqliteNetworkController::SqliteNetworkController(const char *dbPath) :
if (
/* Network */
- (sqlite3_prepare_v2(_db,"SELECT name,private,enableBroadcast,allowPassiveBridging,v4AssignMode,v6AssignMode,multicastLimit,creationTime,revision,memberRevisionCounter FROM Network WHERE id = ?",-1,&_sGetNetworkById,(const char **)0) != SQLITE_OK)
+ (sqlite3_prepare_v2(_db,"SELECT name,private,enableBroadcast,allowPassiveBridging,v4AssignMode,v6AssignMode,multicastLimit,creationTime,revision,memberRevisionCounter,(SELECT COUNT(1) FROM Member WHERE Member.networkId = Network.id AND Member.authorized > 0) FROM Network WHERE id = ?",-1,&_sGetNetworkById,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"SELECT revision FROM Network WHERE id = ?",-1,&_sGetNetworkRevision,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"UPDATE Network SET revision = ? WHERE id = ?",-1,&_sSetNetworkRevision,(const char **)0) != SQLITE_OK)
||(sqlite3_prepare_v2(_db,"INSERT INTO Network (id,name,creationTime,revision) VALUES (?,?,?,1)",-1,&_sCreateNetwork,(const char **)0) != SQLITE_OK)
@@ -1467,6 +1467,7 @@ unsigned int SqliteNetworkController::_doCPGet(
"\t\"creationTime\": %llu,\n"
"\t\"revision\": %llu,\n"
"\t\"memberRevisionCounter\": %llu,\n"
+ "\t\"authorizedMemberCount\": %llu,\n"
"\t\"relays\": [",
nwids,
_instanceId.c_str(),
@@ -1479,7 +1480,8 @@ unsigned int SqliteNetworkController::_doCPGet(
sqlite3_column_int(_sGetNetworkById,6),
(unsigned long long)sqlite3_column_int64(_sGetNetworkById,7),
(unsigned long long)sqlite3_column_int64(_sGetNetworkById,8),
- (unsigned long long)sqlite3_column_int64(_sGetNetworkById,9));
+ (unsigned long long)sqlite3_column_int64(_sGetNetworkById,9),
+ (unsigned long long)sqlite3_column_int64(_sGetNetworkById,10));
responseBody = json;
sqlite3_reset(_sGetRelays);
diff --git a/service/README.md b/service/README.md
index 668aab05..3e52a8a1 100644
--- a/service/README.md
+++ b/service/README.md
@@ -173,6 +173,7 @@ To create a new network with a random last six digits safely and atomically, you
<tr><td>creationTime</td><td>integer</td><td>Time network was created in ms since epoch</td><td>no</td></tr>
<tr><td>revision</td><td>integer</td><td>Network config revision number</td><td>no</td></tr>
<tr><td>memberRevisionCounter</td><td>integer</td><td>Current value of network revision counter (incremented after every member add or revision)</td><td>no</td></tr>
+<tr><td>authorizedMemberCount</td><td>integer</td><td>Number of authorized members</td><td>no</td></tr>
<tr><td>relays</td><td>[object]</td><td>Array of network-specific relay nodes (see below)</td><td>yes</td></tr>
<tr><td>ipLocalRoutes</td><td>[string]</td><td>Array of IP network/netmask entries corresponding to networks routed directly via this interface (e.g. 10.0.0.0/8 to route 10.0.0.0 via this interface)</td></tr>
<tr><td>ipAssignmentPools</td><td>[object]</td><td>Array of IP auto-assignment pools for 'zt' assignment mode</td><td>yes</td></tr>