aboutsummaryrefslogtreecommitdiffstats
path: root/src/SimpleHandlers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SimpleHandlers.cpp')
-rw-r--r--src/SimpleHandlers.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/SimpleHandlers.cpp b/src/SimpleHandlers.cpp
index e4ce4ac..408aeeb 100644
--- a/src/SimpleHandlers.cpp
+++ b/src/SimpleHandlers.cpp
@@ -1,6 +1,9 @@
#include "SimpleHandlers.hpp"
+
#include "Response.hpp"
+#include <fstream>
+
using namespace Response;
Handler::json Handler::klingerHandler(std::string const &arguments, std::string const &session, void *payload) {
@@ -55,6 +58,16 @@ Handler::json Handler::helpHandler(std::string const &arguments, std::string con
Handler::json Handler::stopHandler(std::string const &arguments, std::string const &session, void *payload) {
auto app = (crow::SimpleApp *) payload;
+
+ auto args = tokenizeArguments(arguments);
+
+ int admin_pin;
+ std::ifstream infile("/root/.n_admin_pin");
+
+ if (args.empty() || !(infile >> admin_pin) || admin_pin != std::stoi(args.at(0))) {
+ return simple_response("Needs PIN!", session, true);
+ }
+
app->stop();
std::vector<json> annotations;