summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2019-08-07 11:23:48 -0500
committerAdam Ierymenko <adam.ierymenko@gmail.com>2019-08-07 11:23:48 -0500
commitf7e8d8f1ddc142c5f788fb941c096ac2fea8cb44 (patch)
tree80cce7a3d97551413823ac910b761a03ab3d1f1b
parent3ed8e46782aec83991aa8dbe4936ab36beca2501 (diff)
downloadinfinitytier-f7e8d8f1ddc142c5f788fb941c096ac2fea8cb44.tar.gz
infinitytier-f7e8d8f1ddc142c5f788fb941c096ac2fea8cb44.zip
Fix LFDB path issue when using with Postgress in DBMirrorSet config
-rw-r--r--controller/EmbeddedNetworkController.cpp5
-rw-r--r--controller/EmbeddedNetworkController.hpp3
-rw-r--r--service/OneService.cpp2
3 files changed, 6 insertions, 4 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index 893c0239..08d31bee 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -469,10 +469,11 @@ static bool _parseRule(json &r,ZT_VirtualNetworkRule &rule)
} // anonymous namespace
-EmbeddedNetworkController::EmbeddedNetworkController(Node *node,const char *dbPath, int listenPort, MQConfig *mqc) :
+EmbeddedNetworkController::EmbeddedNetworkController(Node *node,const char *ztPath,const char *dbPath, int listenPort, MQConfig *mqc) :
_startTime(OSUtils::now()),
_listenPort(listenPort),
_node(node),
+ _ztPath(ztPath),
_path(dbPath),
_sender((NetworkController::Sender *)0),
_db(this),
@@ -506,7 +507,7 @@ void EmbeddedNetworkController::init(const Identity &signingId,Sender *sender)
#endif
std::string lfJSON;
- OSUtils::readFile((_path + ZT_PATH_SEPARATOR_S ".." ZT_PATH_SEPARATOR_S "local.conf").c_str(),lfJSON);
+ OSUtils::readFile((_ztPath + ZT_PATH_SEPARATOR_S "local.conf").c_str(),lfJSON);
if (lfJSON.length() > 0) {
nlohmann::json lfConfig(OSUtils::jsonParse(lfJSON));
nlohmann::json &settings = lfConfig["settings"];
diff --git a/controller/EmbeddedNetworkController.hpp b/controller/EmbeddedNetworkController.hpp
index 904f0959..adc2a2ec 100644
--- a/controller/EmbeddedNetworkController.hpp
+++ b/controller/EmbeddedNetworkController.hpp
@@ -66,7 +66,7 @@ public:
* @param node Parent node
* @param dbPath Database path (file path or database credentials)
*/
- EmbeddedNetworkController(Node *node,const char *dbPath, int listenPort, MQConfig *mqc = NULL);
+ EmbeddedNetworkController(Node *node,const char *ztPath,const char *dbPath, int listenPort, MQConfig *mqc = NULL);
virtual ~EmbeddedNetworkController();
virtual void init(const Identity &signingId,Sender *sender);
@@ -149,6 +149,7 @@ private:
const int64_t _startTime;
int _listenPort;
Node *const _node;
+ std::string _ztPath;
std::string _path;
Identity _signingId;
std::string _signingIdAddressString;
diff --git a/service/OneService.cpp b/service/OneService.cpp
index 7c9671e5..13dca4b0 100644
--- a/service/OneService.cpp
+++ b/service/OneService.cpp
@@ -776,7 +776,7 @@ public:
OSUtils::rmDashRf((_homePath + ZT_PATH_SEPARATOR_S "iddb.d").c_str());
// Network controller is now enabled by default for desktop and server
- _controller = new EmbeddedNetworkController(_node,_controllerDbPath.c_str(),_ports[0], _mqc);
+ _controller = new EmbeddedNetworkController(_node,_homePath.c_str(),_controllerDbPath.c_str(),_ports[0], _mqc);
_node->setNetconfMaster((void *)_controller);
// Join existing networks in networks.d