Build fixes.
This commit is contained in:
parent
5202fbdaf3
commit
883a216d2a
6 changed files with 63 additions and 6 deletions
|
@ -178,6 +178,7 @@ SqliteNetworkController::SqliteNetworkController(const char *dbPath) :
|
|||
||(sqlite3_prepare_v2(_db,"INSERT INTO Network (networkId,name,creationTime,revision) VALUES (?,?,?,1)",-1,&_sCreateNetwork,(const char **)0) != SQLITE_OK)
|
||||
||(sqlite3_prepare_v2(_db,"UPDATE Network SET ? = ? WHERE networkId = ?",-1,&_sUpdateNetworkField,(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,"SELECT ip,ipNetmaskBits,ipVersion FROM IpAssignment WHERE networkId = ? AND nodeId = ?",-1,&_sGetIpAssignmentsForNode2,(const char **)0) != SQLITE_OK)
|
||||
||(sqlite3_prepare_v2(_db,"DELETE FROM Relay WHERE networkId = ?",-1,&_sDeleteRelaysForNetwork,(const char **)0) != SQLITE_OK)
|
||||
||(sqlite3_prepare_v2(_db,"INSERT INTO Relay (networkId,nodeId,phyAddress) VALUES (?,?,?)",-1,&_sCreateRelay,(const char **)0) != SQLITE_OK)
|
||||
|
@ -220,6 +221,7 @@ SqliteNetworkController::~SqliteNetworkController()
|
|||
sqlite3_finalize(_sCreateNetwork);
|
||||
sqlite3_finalize(_sUpdateNetworkField);
|
||||
sqlite3_finalize(_sGetNetworkRevision);
|
||||
sqlite3_finalize(_sSetNetworkRevision);
|
||||
sqlite3_finalize(_sGetIpAssignmentsForNode2);
|
||||
sqlite3_finalize(_sDeleteRelaysForNetwork);
|
||||
sqlite3_finalize(_sCreateRelay);
|
||||
|
@ -841,11 +843,17 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST(
|
|||
int64_t revision = 0;
|
||||
sqlite3_reset(_sGetNetworkRevision);
|
||||
sqlite3_bind_text(_sGetNetworkRevision,1,nwids,16,SQLITE_STATIC);
|
||||
if (sqlite3_step(_sGetNetworkRevision) == SQLITE_ROW)
|
||||
bool networkExists = false;
|
||||
if (sqlite3_step(_sGetNetworkRevision) == SQLITE_ROW) {
|
||||
networkExists = true;
|
||||
revision = sqlite3_column_int64(_sGetNetworkRevision,0);
|
||||
}
|
||||
|
||||
if (path.size() >= 3) {
|
||||
|
||||
if (!networkExists)
|
||||
return 404;
|
||||
|
||||
if ((path.size() == 4)&&(path[2] == "member")&&(path[3].length() == 10)) {
|
||||
uint64_t address = Utils::hexStrToU64(path[3].c_str());
|
||||
char addrs[24];
|
||||
|
@ -856,7 +864,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST(
|
|||
|
||||
} else {
|
||||
|
||||
if (revision <= 0) {
|
||||
if (!networkExists) {
|
||||
sqlite3_reset(_sCreateNetwork);
|
||||
sqlite3_bind_text(_sCreateNetwork,1,nwids,16,SQLITE_STATIC);
|
||||
sqlite3_bind_text(_sCreateNetwork,2,nwids,16,SQLITE_STATIC); // default name, will be changed below if a name is specified in JSON
|
||||
|
@ -1081,6 +1089,11 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST(
|
|||
json_value_free(j);
|
||||
}
|
||||
|
||||
sqlite3_reset(_sSetNetworkRevision);
|
||||
sqlite3_bind_int64(_sSetNetworkRevision,1,revision += 1);
|
||||
sqlite3_bind_text(_sSetNetworkRevision,2,nwids,16,SQLITE_STATIC);
|
||||
sqlite3_step(_sSetNetworkRevision);
|
||||
|
||||
return handleControlPlaneHttpGET(path,urlArgs,headers,body,responseBody,responseContentType);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue