diff options
Diffstat (limited to 'hscript/user.cc')
-rw-r--r-- | hscript/user.cc | 35 |
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; +} |