Add (currently undocumented) option to allow management from certain networks.

This commit is contained in:
Adam Ierymenko 2016-11-14 15:47:06 -08:00
parent ee5bd57d40
commit b6c99ba3ef
3 changed files with 36 additions and 16 deletions

11
one.cpp
View file

@ -973,6 +973,7 @@ int main(int argc,char **argv)
std::string homeDir;
unsigned int port = ZT_DEFAULT_PORT;
bool skipRootCheck = false;
const char *allowManagementFrom = (const char *)0;
for(int i=1;i<argc;++i) {
if (argv[i][0] == '-') {
@ -986,6 +987,14 @@ int main(int argc,char **argv)
}
break;
case 'M': // allow management from this IP/bits network
allowManagementFrom = argv[i] + 2;
if (!strlen(allowManagementFrom)) {
printHelp(argv[0],stdout);
return 1;
}
break;
#ifdef __UNIX_LIKE__
case 'd': // Run in background as daemon
runAsDaemon = true;
@ -1167,7 +1176,7 @@ int main(int argc,char **argv)
unsigned int returnValue = 0;
for(;;) {
zt1Service = OneService::newInstance(homeDir.c_str(),port);
zt1Service = OneService::newInstance(homeDir.c_str(),port,allowManagementFrom);
switch(zt1Service->run()) {
case OneService::ONE_STILL_RUNNING: // shouldn't happen, run() won't return until done
case OneService::ONE_NORMAL_TERMINATION: