summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-06-27 11:32:07 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-06-27 11:32:07 -0700
commit8a99113c880e13cb86b2a070135761c8637c275f (patch)
treed79ed67aebff863eb346fa33bc89e0c4dd112b87
parent2225bb093ae57099c04ff3eabc020468920be11a (diff)
parentc61440efea086ab5c9acb515604aac34d84b13cb (diff)
downloadinfinitytier-8a99113c880e13cb86b2a070135761c8637c275f.tar.gz
infinitytier-8a99113c880e13cb86b2a070135761c8637c275f.zip
Merge branch 'dev' of http://10.6.6.2/zerotier/ZeroTierOne into dev
-rw-r--r--make-linux.mk4
-rw-r--r--osdep/OSUtils.cpp18
2 files changed, 22 insertions, 0 deletions
diff --git a/make-linux.mk b/make-linux.mk
index 5af8a92d..c27c600d 100644
--- a/make-linux.mk
+++ b/make-linux.mk
@@ -46,6 +46,10 @@ ifeq ($(ZT_SYNOLOGY), 1)
DEFS+=-D__SYNOLOGY__
endif
+ifeq ($(ZT_QNAP), 1)
+ DEFS+=-D__QNAP__
+endif
+
ifeq ($(ZT_TRACE),1)
DEFS+=-DZT_TRACE
endif
diff --git a/osdep/OSUtils.cpp b/osdep/OSUtils.cpp
index 53e8bb97..ac9452e1 100644
--- a/osdep/OSUtils.cpp
+++ b/osdep/OSUtils.cpp
@@ -363,6 +363,24 @@ std::vector<std::string> OSUtils::split(const char *s,const char *const sep,cons
std::string OSUtils::platformDefaultHomePath()
{
+#ifdef __QNAP__
+ char *cmd = "/sbin/getcfg ZeroTier Install_Path -f /etc/config/qpkg.conf";
+ char buf[128];
+ FILE *fp;
+ if ((fp = popen(cmd, "r")) == NULL) {
+ printf("Error opening pipe!\n");
+ return NULL;
+ }
+ while (fgets(buf, 128, fp) != NULL) { }
+ if(pclose(fp)) {
+ printf("Command not found or exited with error status\n");
+ return NULL;
+ }
+ std::string homeDir = std::string(buf);
+ homeDir.erase(std::remove(homeDir.begin(), homeDir.end(), '\n'), homeDir.end());
+ return homeDir;
+#endif
+
#ifdef __UNIX_LIKE__
#ifdef __APPLE__