diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-09-17 09:50:49 -0700 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-09-17 09:50:49 -0700 |
| commit | edff13dcae3c316f7a454fcd3b415c0ef2e4002c (patch) | |
| tree | 150368c96d524cf50531e11aa519955a0c296a61 /control/NodeControlService.cpp | |
| parent | e22fae2397f69302820b7a1af2fe2291bb6865e0 (diff) | |
| download | infinitytier-edff13dcae3c316f7a454fcd3b415c0ef2e4002c.tar.gz infinitytier-edff13dcae3c316f7a454fcd3b415c0ef2e4002c.zip | |
More control/ refactoring
Diffstat (limited to 'control/NodeControlService.cpp')
| -rw-r--r-- | control/NodeControlService.cpp | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/control/NodeControlService.cpp b/control/NodeControlService.cpp index 536752cc..661c4c63 100644 --- a/control/NodeControlService.cpp +++ b/control/NodeControlService.cpp @@ -29,7 +29,9 @@ #include <string.h> #include <stdlib.h> +#include "../node/Constants.hpp" #include "NodeControlService.hpp" +#include "NodeControlClient.hpp" #include "../node/Node.hpp" #include "../node/Utils.hpp" @@ -114,7 +116,7 @@ void NodeControlService::_doCommand(IpcConnection *ipcc,const char *commandLine) ipcc->printf("200 help terminate [<reason>]"ZT_EOL_S); ipcc->printf("200 help updatecheck"ZT_EOL_S); } else if (cmd[0] == "auth") { - if ((cmd.size() > 1)&&(_authToken == cmd[1])) { + if ((cmd.size() > 1)&&(_authToken.length() > 0)&&(_authToken == cmd[1])) { Mutex::Lock _l(_connections_m); _connections[ipcc] = true; ipcc->printf("200 auth OK"ZT_EOL_S); @@ -226,25 +228,4 @@ void NodeControlService::_doCommand(IpcConnection *ipcc,const char *commandLine) ipcc->printf("."ZT_EOL_S); // blank line ends response } -std::string NodeControlService::readOrCreateAuthtoken(const char *path,bool generateIfNotFound) -{ - unsigned char randbuf[24]; - std::string token; - - if (Utils::readFile(path,token)) - return token; - else token = ""; - - if (generateIfNotFound) { - Utils::getSecureRandom(randbuf,sizeof(randbuf)); - for(unsigned int i=0;i<sizeof(randbuf);++i) - token.push_back(("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")[(unsigned int)randbuf[i] % 62]); - if (!Utils::writeFile(path,token)) - return std::string(); - Utils::lockDownFile(path,false); - } - - return token; -} - } // namespace ZeroTier |
