pbs: allow setting up a master key

similar to the existing encryption key handling, but without
auto-generation since we only have the public part here.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler
2021-02-08 14:08:34 +01:00
committed by Thomas Lamprecht
parent 3c93115570
commit c56f7a71af
3 changed files with 106 additions and 4 deletions

View File

@ -6,6 +6,7 @@ use warnings;
use POSIX qw(O_RDONLY O_WRONLY O_CREAT O_TRUNC);
use Fcntl ':flock';
use File::Path;
use MIME::Base64 qw(encode_base64);
use IO::Socket::IP;
use IO::Socket::UNIX;
@ -54,13 +55,22 @@ sub param_mapping {
}
};
my $master_key_map = {
name => 'master-pubkey',
desc => 'a file containing a PEM-formatted master public key',
func => sub {
my ($value) = @_;
return encode_base64(PVE::Tools::file_get_contents($value), '');
}
};
my $mapping = {
'cifsscan' => [ $password_map ],
'cifs' => [ $password_map ],
'pbs' => [ $password_map ],
'create' => [ $password_map, $enc_key_map ],
'update' => [ $password_map, $enc_key_map ],
'create' => [ $password_map, $enc_key_map, $master_key_map ],
'update' => [ $password_map, $enc_key_map, $master_key_map ],
};
return $mapping->{$name};
}