Browse Source

Make cli try to read auth token from global home if possible (unix-like systems)

Adam Ierymenko 12 years ago
parent
commit
7015992b84
1 changed files with 12 additions and 0 deletions
  1. 12 0
      cli.cpp

+ 12 - 0
cli.cpp

@@ -107,8 +107,20 @@ int main(int argc,char **argv)
 			dotZeroTierAuthToken.push_back(ZT_PATH_SEPARATOR);
 			dotZeroTierAuthToken.append(".zerotierOneAuthToken");
 			if (!Utils::readFile(dotZeroTierAuthToken.c_str(),authToken)) {
+#ifndef __WINDOWS__
+#ifdef __APPLE__
+				const char *systemAuthTokenPath = "/Library/Application Support/ZeroTier/One/authtoken.secret";
+#else
+				const char *systemAuthTokenPath = "/var/lib/zerotier-one/authtoken.secret";
+#endif
+				if (!Utils::readFile(systemAuthTokenPath,authToken)) {
+					fprintf(stdout,"FATAL ERROR: no token specified on command line and could not read '%s' or '%s'"ZT_EOL_S,dotZeroTierAuthToken.c_str(),systemAuthTokenPath);
+					return -2;
+				}
+#else // __WINDOWS__
 				fprintf(stdout,"FATAL ERROR: no token specified on command line and could not read '%s'"ZT_EOL_S,dotZeroTierAuthToken.c_str());
 				return -2;
+#endif // __WINDOWS__
 			}
 		}
 	}