diff --git a/one.cpp b/one.cpp index c4970ab83..d63459193 100644 --- a/one.cpp +++ b/one.cpp @@ -256,7 +256,23 @@ static int cli(int argc,char **argv) requestHeaders["X-ZT1-Auth"] = authToken; - if ((command == "info")||(command == "status")) { + if ((command.length() > 0)&&(command[0] == '/')) { + unsigned int scode = Http::GET( + 1024 * 1024 * 16, + 60000, + (const struct sockaddr *)&addr, + command.c_str(), + requestHeaders, + responseHeaders, + responseBody); + if (scode == 200) { + printf("%s",cliFixJsonCRs(responseBody).c_str()); + return 0; + } else { + printf("%u %s %s"ZT_EOL_S,scode,command.c_str(),responseBody.c_str()); + return 1; + } + } else if ((command == "info")||(command == "status")) { unsigned int scode = Http::GET( 1024 * 1024 * 16, 60000, @@ -363,7 +379,7 @@ static int cli(int argc,char **argv) else if ((!strcmp(jpath->u.object.values[kk].name,"active"))&&(jpath->u.object.values[kk].value->type == json_boolean)) active = (jpath->u.object.values[kk].value->u.boolean != 0); } - if (paddr) { + if ((paddr)&&((active)||(fixed))) { int64_t now = (int64_t)OSUtils::now(); if (lastSend > 0) lastSend = now - lastSend; diff --git a/service/OneService.hpp b/service/OneService.hpp index 7964958c7..7a4f78275 100644 --- a/service/OneService.hpp +++ b/service/OneService.hpp @@ -106,8 +106,6 @@ public: * The terminate() method may be called from a signal handler or another * thread to terminate execution. Otherwise this will not return unless * another condition terminates execution such as a fatal error. - * - * @param */ virtual ReasonForTermination run() = 0;