summaryrefslogtreecommitdiff
path: root/hscript/user.cc
diff options
context:
space:
mode:
Diffstat (limited to 'hscript/user.cc')
-rw-r--r--hscript/user.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/hscript/user.cc b/hscript/user.cc
index e69de29..12d01fc 100644
--- a/hscript/user.cc
+++ b/hscript/user.cc
@@ -0,0 +1,35 @@
+/*
+ * user.cc - Implementation of the Key classes for user account data
+ * libhscript, the HorizonScript library for
+ * Project Horizon
+ *
+ * Copyright (c) 2019 Adélie Linux and contributors. All rights reserved.
+ * This code is licensed under the AGPL 3.0 license, as noted in the
+ * LICENSE-code file in the root directory of this repository.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+#include "user.hh"
+#include "util/output.hh"
+
+using namespace Horizon::Keys;
+
+Key *RootPassphrase::parseFromData(const std::string data, int lineno,
+ int *errors, int *warnings) {
+ if(data.size() < 5 || data[0] != '$' || data[2] != '$') {
+ if(errors) *errors += 1;
+ output_error("installfile:" + std::to_string(lineno),
+ "rootpw: value is not a crypt-style encrypted passphrase");
+ return nullptr;
+ }
+ return new RootPassphrase(lineno, data);
+}
+
+bool RootPassphrase::validate() const {
+ return false;
+}
+
+bool RootPassphrase::execute() const {
+ return false;
+}