diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp index 3eb5579f8..54daa668e 100644 --- a/node/InetAddress.cpp +++ b/node/InetAddress.cpp @@ -142,11 +142,19 @@ char *InetAddress::toIpString(char buf[64]) const buf[0] = (char)0; switch(ss_family) { case AF_INET: { +#ifdef _WIN32 + inet_ntop(AF_INET, (void*)&reinterpret_cast(this)->sin_addr.s_addr, buf, INET_ADDRSTRLEN); +#else inet_ntop(AF_INET, &reinterpret_cast(this)->sin_addr.s_addr, buf, INET_ADDRSTRLEN); +#endif } break; case AF_INET6: { +#ifdef _WIN32 + inet_ntop(AF_INET6, (void*)reinterpret_cast(this)->sin6_addr.s6_addr, buf, INET6_ADDRSTRLEN); +#else inet_ntop(AF_INET6, reinterpret_cast(this)->sin6_addr.s6_addr, buf, INET6_ADDRSTRLEN); +#endif } break; } return buf; diff --git a/one.cpp b/one.cpp index b770451c0..abe8bb375 100644 --- a/one.cpp +++ b/one.cpp @@ -630,13 +630,9 @@ static int cli(int argc,char **argv) } } else if (command == "get") { if (arg1.length() != 16) { - cliPrintHelp(argv[0],stderr); + fprintf(stderr,"invalid network ID format, must be a 16-digit hexidecimal number\n"); return 2; } - char jsons[1024], cl[128]; - OSUtils::ztsnprintf(cl,sizeof(cl),"%u",(unsigned int)strlen(jsons)); - requestHeaders["Content-Type"] = "application/json"; - requestHeaders["Content-Length"] = cl; const unsigned int scode = Http::GET(1024 * 1024 * 16,60000,(const struct sockaddr *)&addr,"/network",requestHeaders,responseHeaders,responseBody); if (scode == 0) { @@ -654,16 +650,21 @@ static int cli(int argc,char **argv) printf("%u %s invalid JSON response (unknown exception)" ZT_EOL_S,scode,command.c_str()); return 1; } + bool bNetworkFound = false; if (j.is_array()) { for(unsigned long i=0;i #include #include -#include +//#include #define stat _stat #else #include