Add basic AES-XTS client-side encryption support
This commit is contained in:
@@ -1305,6 +1305,16 @@ void etcd_state_client_t::parse_state(const etcd_kv_t & kv)
|
||||
else
|
||||
parent_inode_num |= parent_pool_id << (64-POOL_ID_BITS);
|
||||
}
|
||||
std::shared_ptr<inode_enc_t> enc;
|
||||
if (!value["enc_key"].string_value().empty())
|
||||
{
|
||||
std::vector<uint8_t> k = hexdecode(value["enc_key"].string_value());
|
||||
if (k.size() == 512/8)
|
||||
{
|
||||
enc = std::make_shared<inode_enc_t>();
|
||||
enc->key = std::move(k);
|
||||
}
|
||||
}
|
||||
insert_inode_config((inode_config_t){
|
||||
.num = inode_num,
|
||||
.name = value["name"].string_value(),
|
||||
@@ -1312,6 +1322,7 @@ void etcd_state_client_t::parse_state(const etcd_kv_t & kv)
|
||||
.parent_id = parent_inode_num,
|
||||
.readonly = value["readonly"].bool_value(),
|
||||
.deleted = value["deleted"].bool_value(),
|
||||
.enc = enc,
|
||||
.meta = value["meta"],
|
||||
.mod_revision = kv.mod_revision,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user