summaryrefslogtreecommitdiff
path: root/control/NodeControlService.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-17 09:50:49 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2014-09-17 09:50:49 -0700
commitedff13dcae3c316f7a454fcd3b415c0ef2e4002c (patch)
tree150368c96d524cf50531e11aa519955a0c296a61 /control/NodeControlService.cpp
parente22fae2397f69302820b7a1af2fe2291bb6865e0 (diff)
downloadinfinitytier-edff13dcae3c316f7a454fcd3b415c0ef2e4002c.tar.gz
infinitytier-edff13dcae3c316f7a454fcd3b415c0ef2e4002c.zip
More control/ refactoring
Diffstat (limited to 'control/NodeControlService.cpp')
-rw-r--r--control/NodeControlService.cpp25
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