diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-06-09 11:02:42 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2016-06-09 11:02:42 -0700 |
commit | 9898066b47477030569d49bd2a21fc95c765f47a (patch) | |
tree | be52ba162de071a61661e76b925024329b988365 /controller/SqliteNetworkController.cpp | |
parent | 82635ce60641fbd37a082929766cfd13e42aaeff (diff) | |
download | infinitytier-9898066b47477030569d49bd2a21fc95c765f47a.tar.gz infinitytier-9898066b47477030569d49bd2a21fc95c765f47a.zip |
Remove some deprecated stuff in controller -- not done yet.
Diffstat (limited to 'controller/SqliteNetworkController.cpp')
-rw-r--r-- | controller/SqliteNetworkController.cpp | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp index 060875f5..d268a1d9 100644 --- a/controller/SqliteNetworkController.cpp +++ b/controller/SqliteNetworkController.cpp @@ -260,11 +260,6 @@ SqliteNetworkController::SqliteNetworkController(Node *node,const char *dbPath,c ||(sqlite3_prepare_v2(_db,"DELETE FROM Member WHERE networkId = ? AND nodeId = ?",-1,&_sDeleteMember,(const char **)0) != SQLITE_OK) ||(sqlite3_prepare_v2(_db,"DELETE FROM Member WHERE networkId = ?",-1,&_sDeleteAllNetworkMembers,(const char **)0) != SQLITE_OK) - /* Gateway */ - ||(sqlite3_prepare_v2(_db,"SELECT \"ip\",ipVersion,metric FROM Gateway WHERE networkId = ? ORDER BY metric ASC",-1,&_sGetGateways,(const char **)0) != SQLITE_OK) - ||(sqlite3_prepare_v2(_db,"DELETE FROM Gateway WHERE networkId = ?",-1,&_sDeleteGateways,(const char **)0) != SQLITE_OK) - ||(sqlite3_prepare_v2(_db,"INSERT INTO Gateway (networkId,\"ip\",ipVersion,metric) VALUES (?,?,?,?)",-1,&_sCreateGateway,(const char **)0) != SQLITE_OK) - /* Config */ ||(sqlite3_prepare_v2(_db,"SELECT \"v\" FROM \"Config\" WHERE \"k\" = ?",-1,&_sGetConfig,(const char **)0) != SQLITE_OK) ||(sqlite3_prepare_v2(_db,"INSERT OR REPLACE INTO \"Config\" (\"k\",\"v\") VALUES (?,?)",-1,&_sSetConfig,(const char **)0) != SQLITE_OK) @@ -348,9 +343,6 @@ SqliteNetworkController::~SqliteNetworkController() sqlite3_finalize(_sDeleteMember); sqlite3_finalize(_sDeleteAllNetworkMembers); sqlite3_finalize(_sDeleteNetwork); - sqlite3_finalize(_sGetGateways); - sqlite3_finalize(_sDeleteGateways); - sqlite3_finalize(_sCreateGateway); sqlite3_finalize(_sIncrementMemberRevisionCounter); sqlite3_finalize(_sGetConfig); sqlite3_finalize(_sSetConfig); @@ -480,7 +472,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST( sqlite3_reset(_sDeleteIpAllocations); sqlite3_bind_text(_sDeleteIpAllocations,1,nwids,16,SQLITE_STATIC); sqlite3_bind_text(_sDeleteIpAllocations,2,addrs,10,SQLITE_STATIC); - sqlite3_bind_int(_sDeleteIpAllocations,3,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sDeleteIpAllocations,3,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); if (sqlite3_step(_sDeleteIpAllocations) != SQLITE_DONE) return 500; for(unsigned int kk=0;kk<j->u.object.values[k].value->u.array.length;++kk) { @@ -508,7 +500,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST( sqlite3_reset(_sAllocateIp); sqlite3_bind_text(_sAllocateIp,1,nwids,16,SQLITE_STATIC); sqlite3_bind_text(_sAllocateIp,2,addrs,10,SQLITE_STATIC); - sqlite3_bind_int(_sAllocateIp,3,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sAllocateIp,3,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); sqlite3_bind_blob(_sAllocateIp,4,(const void *)ipBlob,16,SQLITE_STATIC); sqlite3_bind_int(_sAllocateIp,5,(int)a.netmaskBits()); sqlite3_bind_int(_sAllocateIp,6,ipVersion); @@ -739,6 +731,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST( } } } else if (!strcmp(j->u.object.values[k].name,"gateways")) { + /* deprecated sqlite3_reset(_sDeleteGateways); sqlite3_bind_text(_sDeleteGateways,1,nwids,16,SQLITE_STATIC); sqlite3_step(_sDeleteGateways); @@ -765,7 +758,9 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST( } } } + */ } else if (!strcmp(j->u.object.values[k].name,"ipLocalRoutes")) { + /* deprecated sqlite3_reset(_sDeleteLocalRoutes); sqlite3_bind_text(_sDeleteLocalRoutes,1,nwids,16,SQLITE_STATIC); sqlite3_bind_int(_sDeleteLocalRoutes,2,(int)ZT_IP_ASSIGNMENT_TYPE_NETWORK); @@ -800,6 +795,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpPOST( } } } + */ } else if (!strcmp(j->u.object.values[k].name,"ipAssignmentPools")) { if (j->u.object.values[k].value->type == json_array) { std::vector< std::pair<InetAddress,InetAddress> > pools; @@ -1029,7 +1025,7 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpDELETE( sqlite3_reset(_sDeleteIpAllocations); sqlite3_bind_text(_sDeleteIpAllocations,1,nwids,16,SQLITE_STATIC); sqlite3_bind_text(_sDeleteIpAllocations,2,addrs,10,SQLITE_STATIC); - sqlite3_bind_int(_sDeleteIpAllocations,3,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sDeleteIpAllocations,3,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); if (sqlite3_step(_sDeleteIpAllocations) == SQLITE_DONE) { sqlite3_reset(_sDeleteMember); sqlite3_bind_text(_sDeleteMember,1,nwids,16,SQLITE_STATIC); @@ -1242,7 +1238,7 @@ unsigned int SqliteNetworkController::_doCPGet( sqlite3_reset(_sGetIpAssignmentsForNode2); sqlite3_bind_text(_sGetIpAssignmentsForNode2,1,nwids,16,SQLITE_STATIC); sqlite3_bind_text(_sGetIpAssignmentsForNode2,2,addrs,10,SQLITE_STATIC); - sqlite3_bind_int(_sGetIpAssignmentsForNode2,3,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sGetIpAssignmentsForNode2,3,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); bool firstIp = true; while (sqlite3_step(_sGetIpAssignmentsForNode2) == SQLITE_ROW) { int ipversion = sqlite3_column_int(_sGetIpAssignmentsForNode2,2); @@ -1423,8 +1419,8 @@ unsigned int SqliteNetworkController::_doCPGet( responseBody.append("\"}"); } + /* deprecated responseBody.append("],\n\t\"gateways\": ["); - sqlite3_reset(_sGetGateways); sqlite3_bind_text(_sGetGateways,1,nwids,16,SQLITE_STATIC); bool firstGateway = true; @@ -1466,7 +1462,9 @@ unsigned int SqliteNetworkController::_doCPGet( responseBody.append(tmp); firstGateway = false; } + */ + /* deprecated responseBody.append("],\n\t\"ipLocalRoutes\": ["); sqlite3_reset(_sGetLocalRoutes); @@ -1511,6 +1509,7 @@ unsigned int SqliteNetworkController::_doCPGet( responseBody.append(tmp); firstLocalRoute = false; } + */ responseBody.append("],\n\t\"ipAssignmentPools\": ["); @@ -1808,6 +1807,7 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c Dictionary legacy; NetworkConfig nc; + // New network config structure nc.networkId = Utils::hexStrToU64(network.id); nc.type = network.isPrivate ? ZT_NETWORK_TYPE_PRIVATE : ZT_NETWORK_TYPE_PUBLIC; nc.timestamp = now; @@ -1817,6 +1817,7 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c if (network.allowPassiveBridging) nc.flags |= ZT_NETWORKCONFIG_FLAG_ALLOW_PASSIVE_BRIDGING; memcpy(nc.name,network.name,std::min((unsigned int)ZT_MAX_NETWORK_SHORT_NAME_LENGTH,(unsigned int)strlen(network.name))); + // Legacy dictionary -- will go away eventually char tss[24],rs[24]; Utils::snprintf(tss,sizeof(tss),"%.16llx",(unsigned long long)now); Utils::snprintf(rs,sizeof(rs),"%.16llx",(unsigned long long)network.revision); @@ -1991,7 +1992,6 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c if ((network.v4AssignMode)&&(!strcmp(network.v4AssignMode,"zt"))) { std::string v4s; - std::vector< std::pair<uint32_t,int> > routedNetworks; bool haveStaticIpAssignment = false; sqlite3_reset(_sGetIpAssignmentsForNode); @@ -2009,28 +2009,11 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c char ips[32]; Utils::snprintf(ips,sizeof(ips),"%d.%d.%d.%d/%d",(int)ip[12],(int)ip[13],(int)ip[14],(int)ip[15],ipNetmaskBits); - const IpAssignmentType ipt = (IpAssignmentType)sqlite3_column_int(_sGetIpAssignmentsForNode,0); - switch(ipt) { - case ZT_IP_ASSIGNMENT_TYPE_ADDRESS: - haveStaticIpAssignment = true; - break; - case ZT_IP_ASSIGNMENT_TYPE_NETWORK: - routedNetworks.push_back(std::pair<uint32_t,int>(Utils::ntoh(*(reinterpret_cast<const uint32_t *>(ip + 12))),ipNetmaskBits)); - break; - default: - continue; - } - - if ((ipt == ZT_IP_ASSIGNMENT_TYPE_ADDRESS)&&(nc.staticIpCount < ZT_MAX_ZT_ASSIGNED_ADDRESSES)) { + if (sqlite3_column_int(_sGetIpAssignmentsForNode,0) == 0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/) { + haveStaticIpAssignment = true; InetAddress tmp2(ips); if (tmp2) nc.staticIps[nc.staticIpCount++] = tmp2; - } - // TODO: add routed networks to nc - - // 1.0.4 or newer clients support network routes in addition to IPs. - // Older clients only support IP address / netmask entries. - if ((clientIs104)||(ipt == ZT_IP_ASSIGNMENT_TYPE_ADDRESS)) { if (v4s.length()) v4s.push_back(','); v4s.append(ips); @@ -2075,13 +2058,13 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c sqlite3_bind_text(_sCheckIfIpIsAllocated,1,network.id,16,SQLITE_STATIC); sqlite3_bind_blob(_sCheckIfIpIsAllocated,2,(const void *)ipBlob,16,SQLITE_STATIC); sqlite3_bind_int(_sCheckIfIpIsAllocated,3,4); // 4 == IPv4 - sqlite3_bind_int(_sCheckIfIpIsAllocated,4,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sCheckIfIpIsAllocated,4,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); if (sqlite3_step(_sCheckIfIpIsAllocated) != SQLITE_ROW) { // No rows returned, so the IP is available sqlite3_reset(_sAllocateIp); sqlite3_bind_text(_sAllocateIp,1,network.id,16,SQLITE_STATIC); sqlite3_bind_text(_sAllocateIp,2,member.nodeId,10,SQLITE_STATIC); - sqlite3_bind_int(_sAllocateIp,3,(int)ZT_IP_ASSIGNMENT_TYPE_ADDRESS); + sqlite3_bind_int(_sAllocateIp,3,(int)0 /*ZT_IP_ASSIGNMENT_TYPE_ADDRESS*/); sqlite3_bind_blob(_sAllocateIp,4,(const void *)ipBlob,16,SQLITE_STATIC); sqlite3_bind_int(_sAllocateIp,5,r->second); // IP netmask bits from matching route sqlite3_bind_int(_sAllocateIp,6,4); // 4 == IPv4 |