summaryrefslogtreecommitdiff
path: root/hscript/script.cc
diff options
context:
space:
mode:
Diffstat (limited to 'hscript/script.cc')
-rw-r--r--hscript/script.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/hscript/script.cc b/hscript/script.cc
index 69afb30..4d5a730 100644
--- a/hscript/script.cc
+++ b/hscript/script.cc
@@ -110,7 +110,7 @@ struct Script::ScriptPrivate {
} else if(key_name == "hostname") {
if(this->hostname) {
DUPLICATE_ERROR(this->hostname, std::string("hostname"),
- this->hostname->name())
+ this->hostname->value())
return false;
}
std::unique_ptr<Keys::Hostname> name(
@@ -133,8 +133,16 @@ struct Script::ScriptPrivate {
delete install;
return true;
} else if(key_name == "rootpw") {
- /*! TODO: implement */
- return false;
+ if(this->rootpw) {
+ DUPLICATE_ERROR(this->rootpw, std::string("rootpw"),
+ "an encrypted passphrase")
+ return false;
+ }
+ std::unique_ptr<Keys::RootPassphrase> name(
+ dynamic_cast<Keys::RootPassphrase *>(key_obj)
+ );
+ this->rootpw = std::move(name);
+ return true;
} else if(key_name == "mount") {
/*! TODO: implement */
return false;